IMAGE ckan-datapusher
LAYER shared/alpine
LAYER shared/libxml
LAYER shared/python2
LAYER ckan-datapusher/ckan-datapusher

SCRIPT
    # Install runtime dependencies
    apk --no-cache add libffi libressl uwsgi-python

    # Install build dependencies
    apk --no-cache add --virtual .deps build-base git libffi-dev libressl-dev libxml2-dev libxslt-dev py2-pip python2-dev

    # Install CKAN DataPusher
    mkdir -p /srv/ckan-datapusher
    cd /srv/ckan-datapusher
    pip install -U setuptools
    pip install -e 'git+https://github.com/ckan/datapusher.git#egg=datapusher'

    # Hackfix the X509_STORE_CTX wrapper
    sed -i 's/\[security\]//' /srv/ckan-datapusher/src/datapusher/requirements.txt
    pip install -r /srv/ckan-datapusher/src/datapusher/requirements.txt

    # Prepare mountpoint for selfsigned certificate
    touch /etc/ssl/services.pem

    # Create OS user
    addgroup -S -g 8004 ckandp
    adduser -S -u 8004 -h /srv/ckan-datapusher -s /bin/false -g ckandp -G ckandp ckandp
    chown -R ckandp:ckandp /srv/ckan-datapusher

    # Cleanup
    apk --no-cache del .deps
    find /srv/ckan-datapusher/src -name '.git*' -exec rm -rf {} +
    rm -rf /root/.cache
RUN

COPY lxc

VOLUME /etc/ssl/services.pem etc/ssl/services.pem
VOLUME /srv/ckan-datapusher/conf etc/ckan-datapusher
VOLUME /srv/ckan-datapusher/data srv/ckan-datapusher/data

CMD s6-svscan /etc/services.d
