Docker image containing Python + Poetry.
FROM dstockhammer/python-poetry:3.11 AS builder
WORKDIR /app
ENV POETRY_VIRTUALENVS_IN_PROJECT=1 \
POETRY_VIRTUALENVS_OPTIONS_ALWAYS_COPY=1 \
POETRY_VIRTUALENVS_OPTIONS_NO_PIP=1 \
POETRY_VIRTUALENVS_OPTIONS_NO_SETUPTOOLS=1
COPY pyproject.toml poetry.lock ./
RUN poetry install --only=main --no-root --no-ansi --no-interaction
FROM python:3.11-slim
WORKDIR /app
ENV PYTHONFAULTHANDLER=1 \
PYTHONHASHSEED=random \
PYTHONUNBUFFERED=1
RUN addgroup app --gid 1000 \
&& adduser app --home /app --uid 1000 --gid 1000 --disabled-login --disabled-password
COPY --from=builder /app/.venv ./.venv
COPY src ./src
USER 1000
ENTRYPOINT [ "/app/.venv/bin/python" ]