55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM alpine:3.7
 | |
| MAINTAINER Disassembler <disassembler@dasm.cz>
 | |
| 
 | |
| RUN \
 | |
|  # Install Python2 runtime
 | |
|  apk --no-cache add python2
 | |
| 
 | |
| RUN \
 | |
|  # Install runtime XML dependencies
 | |
|  apk --no-cache add libxml2 libxslt
 | |
| 
 | |
| RUN \
 | |
|  # 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 py2-pip zlib
 | |
| 
 | |
| RUN \
 | |
|  # 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 -e 'git+https://github.com/ckan/ckan.git#egg=ckan' \
 | |
|  # Force psycopg2 version update for compatibility with PostgreSQL 10
 | |
|  && sed -i 's/psycopg2==2.4.5/psycopg2==2.7.1/' /srv/ckan/src/ckan/requirements.txt \
 | |
|  && 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 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
 | |
| 
 | |
| VOLUME ["/etc/ckan", "/srv/ckan/storage"]
 | |
| EXPOSE 8080
 | |
| 
 | |
| USER ckan
 | |
| CMD ["paster", "serve", "/etc/ckan/ckan.ini"]
 |