IMAGE ckan-datapusher_0.0.16-210106
FROM alpine3.12-python3.8_3.8.5-210106

RUN EOF
    # Install runtime dependencies
    apk --no-cache add uwsgi-python3

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

    # Install CKAN DataPusher
    mkdir -p /srv/ckan-datapusher
    cd /srv/ckan-datapusher
    pip install -e 'git+https://github.com/ckan/datapusher.git@eb4686030ed6911a5294c62bf275ddbbc4b26114#egg=datapusher'
    pip install -r /srv/ckan-datapusher/src/datapusher/requirements.txt

    # Create OS user
    addgroup -S -g 8080 ckandp
    adduser -S -u 8080 -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
EOF

COPY ckan-datapusher.image.d

CMD /bin/execlineb -P /run
