docker/server/server.dockerfile
changeset 130 5eeebcbdee22
parent 129 f6b392c37e10
equal deleted inserted replaced
129:f6b392c37e10 130:5eeebcbdee22
    12 
    12 
    13 ENV PATH="$VIRTUALENV/bin:$PATH"
    13 ENV PATH="$VIRTUALENV/bin:$PATH"
    14 
    14 
    15 # copy the dependencies file to the working directory
    15 # copy the dependencies file to the working directory
    16 COPY docker/server/requirements.txt .
    16 COPY docker/server/requirements.txt .
       
    17 COPY docker/server/ivysettings.xml .
       
    18 COPY virtualenv/res/src/django-extensions-0.8.tar.gz .
       
    19 COPY virtualenv/res/src/django-piston-7c90898072ce-modifed.tar.gz .
       
    20 COPY virtualenv/res/src/omab-django-social-auth-v0.3.10-modified.tar.gz .
       
    21 COPY virtualenv/res/src/Django-1.4.tar.gz .
    17 
    22 
    18 ENV JCC_JDK=/usr/lib/jvm/java-11-openjdk
    23 ENV JCC_JDK=/usr/lib/jvm/java-11-openjdk
    19 ENV JCC_LFLAGS="-L/usr/lib/jvm/java-11-openjdk/jre/lib -ljava -L/usr/lib/jvm/java-11-openjdk/jre/lib/server -ljvm"
    24 ENV JCC_LFLAGS="-L/usr/lib/jvm/java-11-openjdk/jre/lib -ljava -L/usr/lib/jvm/java-11-openjdk/jre/lib/server -ljvm"
    20 ENV PATH="/usr/lib/jvm/java-11-openjdk/jre/bin:$PATH"
    25 ENV PATH="/usr/lib/jvm/java-11-openjdk/jre/bin:$PATH"
    21 ENV LD_LIBRARY_PATH="/usr/lib/jvm/java-11-openjdk/jre/lib:/usr/lib/jvm/java-11-openjdk/jre/lib/server"
    26 ENV LD_LIBRARY_PATH="/usr/lib/jvm/java-11-openjdk/jre/lib:/usr/lib/jvm/java-11-openjdk/jre/lib/server"
    22 # ENV JCC_LFLAGS=-L/usr/lib/jvm/java-8-openjdk/jre/lib/amd64
    27 # ENV JCC_LFLAGS=-L/usr/lib/jvm/java-8-openjdk/jre/lib/amd64
    23 
    28 
    24 
    29 
    25 RUN \
    30 RUN \
    26  apk add --no-cache postgresql-client postgresql-libs libxml2 libxslt libmemcached openjdk11 apache-ant bash jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev && \
    31  apk add --no-cache postgresql-client postgresql-libs libxml2 libxslt libmemcached openjdk11 apache-ant bash jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev && \
    27  apk add --no-cache --virtual .build-deps build-base postgresql-dev libxml2-dev libxslt-dev linux-headers sed wget patchelf git jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev && \
    32  apk add --no-cache --virtual .build-deps build-base postgresql-dev libxml2-dev libxslt-dev linux-headers sed wget patchelf git jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev tar && \
    28  wget https://dlcdn.apache.org/lucene/pylucene/pylucene-7.7.1-src.tar.gz && \
    33  wget https://archive.apache.org/dist/lucene/pylucene/pylucene-3.6.2-1-src.tar.gz && \
    29  tar zxvf pylucene-7.7.1-src.tar.gz && \
    34  tar zxvf pylucene-3.6.2-1-src.tar.gz && \
    30  cd pylucene-7.7.1 && \
    35  cd pylucene-3.6.2-1 && \
    31  cd jcc && \
    36  pip install jcc && \
    32  python setup.py install && \
    37  #cd jcc && \
    33  cd .. && \
    38  #python setup.py install && \
    34  sed -i '1s/^/PREFIX_PYTHON=\/opt\/venv\nANT=JAVA_HOME=\/usr\/lib\/jvm\/java-11-openjdk \/usr\/bin\/ant\nPYTHON=$(PREFIX_PYTHON)\/bin\/python\nJCC=$(PYTHON) -m jcc --shared\nNUM_FILES=8\n/' Makefile && \
    39  #cd .. && \
    35  sed -i 's/http:\/\/repo1\.maven\.org\/maven2/https:\/\/repo1.maven.org\/maven2/' lucene-java-7.7.1/lucene/common-build.xml && \
    40  sed -i '1s/^/PREFIX_PYTHON=\/opt\/venv\nANT=JAVA_HOME=\/usr\/lib\/jvm\/java-11-openjdk \/usr\/bin\/ant\nPYTHON=$(PREFIX_PYTHON)\/bin\/python\nJCC=$(PYTHON) -m jcc --shared --package java.util.function\nNUM_FILES=8\n/' Makefile && \
    36  patchelf --add-needed libjvm.so /opt/venv/lib/python2.7/site-packages/JCC-3.5-py2.7-linux-x86_64.egg/jcc/_jcc2.so && \
    41  sed -i 's/http:\/\/repo1\.maven\.org\/maven2/https:\/\/repo1.maven.org\/maven2/' lucene-java-3.6.2/lucene/common-build.xml && \
    37  patchelf --add-needed libjvm.so /opt/venv/lib/python2.7/site-packages/JCC-3.5-py2.7-linux-x86_64.egg/libjcc2.so && \
    42  sed -i 's/<property name="javac\.source" value="1\.5"\/>/<property name="javac\.source" value="1.6"\/>/' lucene-java-3.6.2/lucene/common-build.xml && \
       
    43  sed -i 's/<property name="javac\.target" value="1\.5"\/>/<property name="javac\.target" value="1.6"\/>/' lucene-java-3.6.2/lucene/common-build.xml && \
       
    44  sed -i 's/<property name="javac\.source\.backwards" value="1\.5"\/>/<property name="javac.source.backwards" value="1.6"\/>/' lucene-java-3.6.2/lucene/common-build.xml && \
       
    45  sed -i 's/<property name="javac\.target\.backwards" value="1\.5"\/>/<property name="javac.target.backwards" value="1.6"\/>/' lucene-java-3.6.2/lucene/common-build.xml && \
       
    46  make ivy && \
       
    47  sed -i 's/^<\/project>/  <ivy:settings file="\/code\/ivysettings.xml"\/>\n<\/project>/' lucene-java-3.6.2/lucene/common-build.xml && \
       
    48  patchelf --add-needed libjvm.so /opt/venv/lib/python2.7/site-packages/jcc/_jcc2.so && \
       
    49  patchelf --add-needed libjvm.so /opt/venv/lib/python2.7/site-packages/libjcc2.so && \
    38  make && \
    50  make && \
    39  make install && \
    51  make install && \
    40  cd /code && \
    52  cd /code && \
    41  wget https://hg.dev.iri-research.org/platform/archive/V01.11.tar.gz && \
    53  wget https://hg.dev.iri-research.org/platform/archive/V01.11.tar.gz && \
    42  tar zxvf V01.11.tar.gz && \
    54  tar zxvf V01.11.tar.gz && \
    43  cd platform-V01.11/src/ldt && \
    55  #cd platform-V01.11/src/ldt && \
    44  python setup.py sdist && \
    56  #python setup.py sdist && \
    45  pip install dist/ldt-1.11.tar.gz && \
    57  #pip install dist/ldt-1.11.tar.gz && \
    46  cd /code && \
    58  #cd /code && \
    47  pip install -r requirements.txt
    59  tar zxvf Django-1.4.tar.gz --strip-components=1 Django-1.4/django && \
       
    60  tar zxvf django-extensions-0.8.tar.gz --strip-components=1 django-extensions-django-extensions-0f498ff/django_extensions && \
       
    61  tar zxvf django-piston-7c90898072ce-modifed.tar.gz --strip-components=1 jespern-django-piston-7c90898072ce/piston && \
       
    62  tar zxvf omab-django-social-auth-v0.3.10-modified.tar.gz --strip-components=1 omab-django-social-auth-db55201/social_auth && \
       
    63  pip install -r requirements.txt && \
       
    64  echo "DONE"
    48 
    65 
    49 
    66 FROM docker.io/python:2.7-alpine as run_base
    50 FROM docker.io/python:2.7-alpine 
       
    51 
    67 
    52 COPY --from=builder /opt/venv /opt/venv
    68 COPY --from=builder /opt/venv /opt/venv
    53 COPY web/tralalere /code/tralalere
    69 COPY --from=builder /code/django /code/django
       
    70 COPY --from=builder /code/social_auth /code/social_auth
       
    71 COPY --from=builder /code/platform-V01.11/src/ldt/ldt /code/ldt
       
    72 COPY --from=builder /code/piston /code/piston
       
    73 COPY --from=builder /code/django_extensions /code/django_extensions
    54 COPY web/manage.py /code/
    74 COPY web/manage.py /code/
    55 
       
    56 
       
    57 
    75 
    58 ENV BASEDIR="/code"
    76 ENV BASEDIR="/code"
    59 ENV PATH="/opt/venv/bin:$BASEDIR:$PATH"
    77 ENV PATH="/opt/venv/bin:$BASEDIR:$PATH"
    60 
    78 
    61 WORKDIR $BASEDIR
    79 WORKDIR $BASEDIR
    77 ENV DJANGO_SECRET ""
    95 ENV DJANGO_SECRET ""
    78 
    96 
    79 ENV PATH="/usr/lib/jvm/java-11-openjdk/jre/bin:$PATH"
    97 ENV PATH="/usr/lib/jvm/java-11-openjdk/jre/bin:$PATH"
    80 ENV LD_LIBRARY_PATH="/usr/lib/jvm/java-11-openjdk/jre/lib:/usr/lib/jvm/java-11-openjdk/jre/lib/server"
    98 ENV LD_LIBRARY_PATH="/usr/lib/jvm/java-11-openjdk/jre/lib:/usr/lib/jvm/java-11-openjdk/jre/lib/server"
    81 
    99 
       
   100 FROM run_base as prod
       
   101 
       
   102 COPY web/tralalere /code/tralalere
       
   103 
    82 EXPOSE 8000
   104 EXPOSE 8000
    83 
   105 
    84 ENTRYPOINT ["/entrypoint.sh"]
   106 ENTRYPOINT ["/entrypoint.sh"]
    85 
   107 
    86 # # command to run on container start
   108 # # command to run on container start