docker/server/server.dockerfile
changeset 0 2a447b707b65
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/server/server.dockerfile	Wed Sep 04 16:52:49 2024 +0200
@@ -0,0 +1,64 @@
+# set base image (host OS)
+FROM docker.io/python:2.7-alpine as builder
+
+ENV VIRTUALENV=/opt/venv
+
+# set the working directory in the container
+WORKDIR /code
+
+RUN \
+    pip install virtualenv && \
+    virtualenv $VIRTUALENV
+
+ENV PATH="$VIRTUALENV/bin:$PATH"
+
+# copy the dependencies file to the working directory
+COPY docker/server/requirements.txt .
+
+
+RUN \
+ apk add --no-cache postgresql-client postgresql-libs libxml2 libxslt && \
+ apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev libxml2-dev libxslt-dev linux-headers && \
+ pip install -r requirements.txt
+
+COPY hashcut ./hashcut
+COPY metadatacomposer ./metadatacomposer
+COPY platform ./platform
+
+RUN \
+  cd /code/platform/src/ldt && python setup.py sdist && pip install --no-binary ":all:" dist/*.tar.gz && \
+  cd /code/hashcut/src && python setup.py sdist && pip install --no-binary ":all:" dist/*.tar.gz && \
+  cd /code/metadatacomposer/src && python setup.py sdist && pip install --no-binary ":all:" dist/*.tar.gz
+
+
+FROM docker.io/python:2.7-alpine 
+
+COPY --from=builder /opt/venv /opt/venv
+
+WORKDIR /code
+
+ENV PATH="/opt/venv/bin:/code:$PATH"
+
+RUN \
+ apk add --no-cache postgresql-client postgresql-libs libxml2 libxslt bash && \
+ mkdir -p /static /iridata/www/ldt/web/static/media /run/log 
+
+COPY platform_web/src ./platform_web
+COPY docker/server/config.py ./platform_web/ldtplatform/
+
+COPY docker/server/platform.yml .
+COPY --chmod=0755 docker/server/entrypoint.sh .
+
+ENV PYTHONPATH "/code/platform_web"
+ENV DJANGO_SETTINGS_MODULE ldtplatform.settings
+ENV DEBUG "False"
+ENV DATABASE_URL ""
+ENV ES_HOST "es"
+ENV LDT_SECRET ""
+
+EXPOSE 8000
+
+ENTRYPOINT ["entrypoint.sh"]
+
+# command to run on container start
+CMD [ "/opt/venv/bin/uwsgi", "--yaml", "/code/platform.yml"]
\ No newline at end of file