final image now uses dhi base image

This commit is contained in:
Jörn-Michael Miehe 2026-02-20 00:28:48 +01:00
parent 89403a8e30
commit 1b5a2c0264

View file

@ -1,5 +1,5 @@
ARG NODE_VERSION=24
ARG PYTHON_VERSION=3.14-slim
ARG PYTHON_VERSION=3.14
############
# build ui #
@ -28,17 +28,16 @@ RUN set -ex; \
# exclude webpack-bundle-analyzer output
rm -f /tmp/advent22_ui/report.html;
############
# main app #
############
###############
# install api #
###############
ARG PYTHON_VERSION
FROM python:${PYTHON_VERSION} AS production
FROM dhi.io/python:${PYTHON_VERSION}-dev AS install-api
# env setup for uv
ENV \
PATH="/opt/advent22/api/.venv/bin:$PATH" \
UV_COMPILE_BYTECODE=1 \
ENV UV_COMPILE_BYTECODE=1 \
UV_NO_DEV=1 \
UV_LINK_MODE="copy"
@ -68,15 +67,28 @@ RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \
--no-editable \
;
CMD [ "advent22" ]
# add prepared advent22_ui
COPY --from=build-ui /tmp/advent22_ui /opt/advent22/ui
COPY --from=build-ui /tmp/advent22_ui /opt/advent22/ui/
# prepare data directory
WORKDIR /opt/advent22/data
RUN chown -R nobody:nobody ./
####################
# production image #
####################
ARG PYTHON_VERSION
FROM dhi.io/python:${PYTHON_VERSION} AS production
ENV PATH="/opt/advent22/api/.venv/bin:$PATH"
CMD [ "advent22" ]
COPY --from=install-api /opt /opt/
WORKDIR /opt/advent22/data
VOLUME [ "/opt/advent22/data" ]
RUN chown -R nobody:nogroup ./
# run as unprivileged user
USER nobody