diff -r dc349ee44568 -r 385e3a12ee27 dev/hdalab/Dockerfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/hdalab/Dockerfile Thu Mar 15 23:52:11 2018 +0100 @@ -0,0 +1,79 @@ +FROM python:2.7-alpine + +ENV PHANTOMJS_ARCHIVE="phantomjs.tar.gz" +ENV REDLAND_ARCHIVE="redland-bindings-1.0.17.1" + +RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main'>> /etc/apk/repositories \ + && apk update \ + && apk add --upgrade apk-tools@edge \ + && apk add --no-cache --virtual build-deps gcc python-dev musl-dev linux-headers postgresql-dev \ + && apk add --no-cache supervisor curl bash \ + && apk add --no-cache --virtual build-deps libxml2-dev \ + && apk add --no-cache --virtual build-deps libxslt-dev \ + && apk add --no-cache unixodbc raptor2 rasqal redland \ + && apk add --no-cache --virtual build-deps sqlite-dev libtool make automake autoconf swig raptor2-dev rasqal-dev redland-dev \ + && apk add --no-cache jpeg zlib freetype lcms2 openjpeg tiff tk tcl harfbuzz fribidi \ + && apk add --no-cache --virtual build-deps jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev harfbuzz-dev fribidi-dev \ + && mkdir -p /usr/include/libxml \ + && ln -s /usr/include/libxml2/libxml/xmlexports.h /usr/include/libxml/xmlexports.h \ + && ln -s /usr/include/libxml2/libxml/xmlversion.h /usr/include/libxml/xmlversion.h \ + && addgroup -S www && adduser -S -G www www \ + && mkdir /etc/supervisord.d \ + && mkdir -p /tmp/build-tmp \ + && mkdir -p /var/lib/hdalab \ + && mkdir -p /var/log/hdalab \ + && mkdir -p /etc/hdalab \ + && mkdir -p /etc/uwsgi \ + && chown -R www:www /var/log/hdalab \ + && chown -R www:www /var/lib/hdalab \ + && mkdir /usr/local/sbin + +COPY entrypoint.sh /usr/local/sbin/entrypoint.sh +COPY dist/renkanmanager.tar.gz /tmp/build-tmp +COPY dist/hdalab.tar.gz /tmp/build-tmp +COPY dist/base_requirements.txt /tmp/build-tmp +COPY srvr_requirements.txt /tmp/build-tmp +COPY settings.py /etc/hdalab/hdalab_settings.py +COPY supervisord.conf /etc/supervisord.conf +COPY supervisor.d/hdalab.ini /etc/supervisor.d/ +COPY supervisor.d/celeryd-hdalab.ini /etc/supervisor.d/ +COPY supervisor.d/celerybeat-hdalab.ini /etc/supervisor.d/ +COPY uwsgi/hdalab.yml /etc/uwsgi/hdalab.yml +COPY dist/data /etc/hdalab/data +COPY import_hda_rdf.sh /usr/local/sbin/import_hda_rdf.sh +COPY renkan_default_icon.png /etc/hdalab/ + +RUN pip install --no-cache-dir -r /tmp/build-tmp/base_requirements.txt \ + && pip install --no-cache-dir -r /tmp/build-tmp/srvr_requirements.txt \ + && pip install /tmp/build-tmp/renkanmanager.tar.gz \ + && pip install /tmp/build-tmp/hdalab.tar.gz \ + && curl -Lk -o /tmp/build-tmp/$REDLAND_ARCHIVE.tar.gz http://download.librdf.org/source/$REDLAND_ARCHIVE.tar.gz \ + && tar -xf /tmp/build-tmp/$REDLAND_ARCHIVE.tar.gz -C /tmp/build-tmp/ + +WORKDIR /tmp/build-tmp/${REDLAND_ARCHIVE} + +RUN ./autogen.sh \ + && cd python \ + && make \ + && make install + +WORKDIR / + +RUN rm -fr /tmp/build-tmp \ + && chmod +x /usr/local/sbin/import_hda_rdf.sh /usr/local/sbin/entrypoint.sh \ + && curl -Lk -o $PHANTOMJS_ARCHIVE https://github.com/fgrehm/docker-phantomjs2/releases/download/v2.0.0-20150722/dockerized-phantomjs.tar.gz \ + && tar -xf $PHANTOMJS_ARCHIVE -C /tmp/ \ + && cp -R /tmp/etc/fonts /etc/ \ + && cp -R /tmp/lib/* /lib/ \ + && cp -R /tmp/lib64 / \ + && cp -R /tmp/usr/lib/* /usr/lib/ \ + && cp -R /tmp/usr/lib/x86_64-linux-gnu /usr/ \ + && cp -R /tmp/usr/share/* /usr/share/ \ + && cp /tmp/usr/local/bin/phantomjs /usr/bin/ \ + && rm -fr $PHANTOMJS_ARCHIVE /tmp/* \ + && apk del build-deps + +ENV PYTHONPATH="/etc/hdalab" +ENV DJANGO_SETTINGS_MODULE=hdalab_settings + +CMD ["/bin/sh", "/usr/local/sbin/entrypoint.sh"]