IMAGE ckan LAYER shared/alpine LAYER shared/libxml LAYER shared/python2 LAYER ckan/ckan RUN EOF # Add edge/testing repository echo '@edge http://dl-cdn.alpinelinux.org/alpine/edge/testing' >>/etc/apk/repositories # Install runtime dependencies apk --no-cache add geos@edge libjpeg-turbo libmagic libpq mailcap py2-pip zlib # Install build dependencies apk --no-cache add --virtual .deps build-base git libjpeg-turbo-dev libxml2-dev libxslt-dev postgresql-dev python2-dev zlib-dev # Hackfix for python find_library('c') call ln -s /lib/ld-musl-x86_64.so.1 /lib/libc.so.1 # Install CKAN mkdir -p /srv/ckan cd /srv/ckan pip install -U setuptools pip install flask-debugtoolbar pip install -e 'git+https://github.com/ckan/ckan.git#egg=ckan' pip install -r /srv/ckan/src/ckan/requirements.txt # Install CKAN extensions pip install -e 'git+https://github.com/ckan/ckanext-basiccharts#egg=ckanext_basiccharts' pip install -e 'git+https://github.com/ckan/ckanext-spatial#egg=ckanext_spatial' pip install -e 'git+https://github.com/ckan/ckanext-geoview#egg=ckanext_geoview' pip install -e 'git+https://github.com/ckan/ckanext-mapviews#egg=ckanext_mapviews' pip install -e 'git+https://github.com/XVTSolutions/ckanext-spatialUI#egg=ckanext_spatialui' pip install -e 'git+https://github.com/aptivate/ckanext-datasetthumbnail#egg=ckanext_datasetthumbnail' pip install -e 'git+https://github.com/datagvat/ckanext-dgvat_xls#egg=ckanext_dgvat_xls' pip install -r /srv/ckan/src/ckanext-spatial/pip-requirements.txt pip install -r /srv/ckan/src/ckanext-dgvat-xls/requirements.txt # Create mountpoints mkdir /etc/ckan mkdir /srv/ckan/storage # Create OS user addgroup -S -g 8003 ckan adduser -S -u 8003 -h /srv/ckan -s /bin/false -g ckan -G ckan ckan chown -R ckan:ckan /srv/ckan # Cleanup apk --no-cache del .deps find /srv/ckan/src -name '.git*' -exec rm -rf {} + rm -rf /root/.cache EOF MOUNT /srv/ckan/conf etc/ckan MOUNT /srv/ckan/data srv/ckan/storage USER 8003 8003 CMD /usr/bin/paster serve /etc/ckan/ckan.ini