diff --git a/Dockerfile b/Dockerfile index f0251508d915203e3b3f1cfa3ef3388953588261..9ef266a15d22ef84d28e9a2602ecce94217d65bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,10 +4,13 @@ FROM python:3.12 AS base WORKDIR /app EXPOSE 5000 +ARG USERNAME="portaluser" + # First, copy and install only the requirements... -RUN useradd -ms /bin/bash python && chown -R python:python /app -USER python -ENV PATH="$PATH:/home/python/.local/bin" +RUN useradd -ms /bin/bash ${USERNAME} && chown -R ${USERNAME}:${USERNAME} /app +USER ${USERNAME} +# The modified PATH is needed so that the pipenv executaable is found. +ENV PATH="$PATH:/home/${USERNAME}/.local/bin" RUN pip install --upgrade pip setuptools RUN pip install pipenv COPY Pipfile.lock . @@ -16,7 +19,7 @@ RUN pip uninstall --yes pipenv RUN pip install -r requirements.txt # ... then the rest of the application. This allows the installation stage to be cached most of the time # (so we don't have reinstall of all dependencies every time the container is rebuilt) -COPY --chown=python:python . . +COPY --chown=${USERNAME}:${USERNAME} . . FROM base AS dev ENV SERVER_TYPE=flask