diff --git a/Dockerfile b/Dockerfile index 38a3adf..8f8c496 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,13 @@ -FROM debian:buster-slim +FROM debian:buster-slim AS build -ARG BUILD_SERIES=dev -ARG BUILD_ID=0 +RUN set -eu; \ + export DEBIAN_FRONTEND=noninteractive ; \ + apt-get update ; \ + apt-get install -y --no-install-recommends \ + python3 python3-pip python3-setuptools python3-wheel \ + libpython3-dev \ + make build-essential \ + netcat; COPY requirements.txt /opt/snikket-web-portal/requirements.txt COPY build-requirements.txt /opt/snikket-web-portal/build-requirements.txt @@ -11,32 +17,41 @@ COPY babel.cfg /opt/snikket-web-portal/babel.cfg WORKDIR /opt/snikket-web-portal -RUN set -eu; \ - export DEBIAN_FRONTEND=noninteractive ; \ - apt-get update ; \ - apt-get install -y --no-install-recommends \ - python3 python3-pip python3-setuptools python3-wheel \ - libpython3-dev \ - make build-essential \ - netcat \ - ; \ - pip3 install -r requirements.txt; \ +RUN pip3 install -r requirements.txt; \ pip3 install -r build-requirements.txt; \ - make; \ - pip3 uninstall -yr build-requirements.txt; \ - apt-get remove -y build-essential make libpython3-dev; \ - apt-get autoremove -y; \ - pip3 install hypercorn; \ - rm -rf /root/.cache; \ - apt-get clean ; rm -rf /var/lib/apt/lists + make; + + +FROM debian:buster-slim + +ARG BUILD_SERIES=dev +ARG BUILD_ID=0 COPY docker/env.py /etc/snikket-web-portal/env.py + ENV SNIKKET_WEB_PYENV=/etc/snikket-web-portal/env.py ENV SNIKKET_WEB_PROSODY_ENDPOINT=http://127.0.0.1:5280/ HEALTHCHECK CMD nc -zv ${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE:-127.0.0.1} ${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT:-5765} +RUN set -eu; \ + export DEBIAN_FRONTEND=noninteractive ; \ + apt-get update ; \ + apt-get install -y --no-install-recommends \ + python3 python3-pip python3-setuptools python3-wheel; \ + apt-get clean ; rm -rf /var/lib/apt/lists; \ + pip3 install hypercorn; \ + rm -rf /root/.cache; + +WORKDIR /opt/snikket-web-portal + +COPY requirements.txt /opt/snikket-web-portal/requirements.txt +RUN pip3 install -r requirements.txt; rm -rf /root/.cache; + +COPY --from=build /opt/snikket-web-portal/snikket_web/ /opt/snikket-web-portal/snikket_web +COPY babel.cfg /opt/snikket-web-portal/babel.cfg + RUN echo "$BUILD_SERIES $BUILD_ID" > /opt/snikket-web-portal/.app_version ADD docker/entrypoint.sh /entrypoint.sh