dev/hdalab/Dockerfile
changeset 686 385e3a12ee27
child 687 53fee689f666
equal deleted inserted replaced
685:dc349ee44568 686:385e3a12ee27
       
     1 FROM python:2.7-alpine
       
     2 
       
     3 ENV PHANTOMJS_ARCHIVE="phantomjs.tar.gz"
       
     4 ENV REDLAND_ARCHIVE="redland-bindings-1.0.17.1"
       
     5 
       
     6 RUN echo '@edge http://nl.alpinelinux.org/alpine/edge/main'>> /etc/apk/repositories \
       
     7  && apk update \
       
     8  && apk add --upgrade apk-tools@edge \
       
     9  && apk add --no-cache --virtual build-deps gcc python-dev musl-dev linux-headers postgresql-dev \
       
    10  && apk add --no-cache supervisor curl bash \
       
    11  && apk add --no-cache --virtual build-deps libxml2-dev \
       
    12  && apk add --no-cache --virtual build-deps libxslt-dev \
       
    13  && apk add --no-cache unixodbc raptor2 rasqal redland \
       
    14  && apk add --no-cache --virtual build-deps sqlite-dev libtool make automake autoconf swig raptor2-dev rasqal-dev redland-dev \
       
    15  && apk add --no-cache jpeg zlib freetype lcms2 openjpeg tiff tk tcl harfbuzz fribidi \
       
    16  && 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 \
       
    17  && mkdir -p /usr/include/libxml \
       
    18  && ln -s /usr/include/libxml2/libxml/xmlexports.h /usr/include/libxml/xmlexports.h \
       
    19  && ln -s /usr/include/libxml2/libxml/xmlversion.h /usr/include/libxml/xmlversion.h \
       
    20  && addgroup -S www && adduser -S -G www www \
       
    21  && mkdir /etc/supervisord.d \
       
    22  && mkdir -p /tmp/build-tmp \
       
    23  && mkdir -p /var/lib/hdalab \
       
    24  && mkdir -p /var/log/hdalab \
       
    25  && mkdir -p /etc/hdalab \
       
    26  && mkdir -p /etc/uwsgi \
       
    27  && chown -R www:www /var/log/hdalab \
       
    28  && chown -R www:www /var/lib/hdalab \
       
    29  && mkdir /usr/local/sbin
       
    30 
       
    31 COPY entrypoint.sh /usr/local/sbin/entrypoint.sh
       
    32 COPY dist/renkanmanager.tar.gz /tmp/build-tmp
       
    33 COPY dist/hdalab.tar.gz /tmp/build-tmp
       
    34 COPY dist/base_requirements.txt /tmp/build-tmp
       
    35 COPY srvr_requirements.txt /tmp/build-tmp
       
    36 COPY settings.py /etc/hdalab/hdalab_settings.py
       
    37 COPY supervisord.conf /etc/supervisord.conf
       
    38 COPY supervisor.d/hdalab.ini /etc/supervisor.d/
       
    39 COPY supervisor.d/celeryd-hdalab.ini /etc/supervisor.d/
       
    40 COPY supervisor.d/celerybeat-hdalab.ini /etc/supervisor.d/
       
    41 COPY uwsgi/hdalab.yml /etc/uwsgi/hdalab.yml
       
    42 COPY dist/data /etc/hdalab/data
       
    43 COPY import_hda_rdf.sh /usr/local/sbin/import_hda_rdf.sh
       
    44 COPY renkan_default_icon.png /etc/hdalab/
       
    45 
       
    46 RUN pip install --no-cache-dir -r /tmp/build-tmp/base_requirements.txt \
       
    47  && pip install --no-cache-dir -r /tmp/build-tmp/srvr_requirements.txt \
       
    48  && pip install /tmp/build-tmp/renkanmanager.tar.gz \
       
    49  && pip install /tmp/build-tmp/hdalab.tar.gz \
       
    50  && curl -Lk -o /tmp/build-tmp/$REDLAND_ARCHIVE.tar.gz http://download.librdf.org/source/$REDLAND_ARCHIVE.tar.gz \
       
    51  && tar -xf /tmp/build-tmp/$REDLAND_ARCHIVE.tar.gz -C /tmp/build-tmp/
       
    52 
       
    53 WORKDIR /tmp/build-tmp/${REDLAND_ARCHIVE}
       
    54 
       
    55 RUN ./autogen.sh \
       
    56  && cd python \
       
    57  && make \
       
    58  && make install
       
    59 
       
    60 WORKDIR /
       
    61 
       
    62 RUN rm -fr /tmp/build-tmp \
       
    63  && chmod +x /usr/local/sbin/import_hda_rdf.sh /usr/local/sbin/entrypoint.sh \
       
    64  && curl -Lk -o $PHANTOMJS_ARCHIVE https://github.com/fgrehm/docker-phantomjs2/releases/download/v2.0.0-20150722/dockerized-phantomjs.tar.gz \
       
    65  && tar -xf $PHANTOMJS_ARCHIVE -C /tmp/ \
       
    66  && cp -R /tmp/etc/fonts /etc/ \
       
    67  && cp -R /tmp/lib/* /lib/ \
       
    68  && cp -R /tmp/lib64 / \
       
    69  && cp -R /tmp/usr/lib/* /usr/lib/ \
       
    70  && cp -R /tmp/usr/lib/x86_64-linux-gnu /usr/ \
       
    71  && cp -R /tmp/usr/share/* /usr/share/ \
       
    72  && cp /tmp/usr/local/bin/phantomjs /usr/bin/ \
       
    73  && rm -fr $PHANTOMJS_ARCHIVE  /tmp/* \
       
    74  && apk del build-deps
       
    75 
       
    76 ENV PYTHONPATH="/etc/hdalab"
       
    77 ENV DJANGO_SETTINGS_MODULE=hdalab_settings
       
    78 
       
    79 CMD ["/bin/sh", "/usr/local/sbin/entrypoint.sh"]