35 lines
487 B
Docker
35 lines
487 B
Docker
FROM python:3.12-alpine as base
|
|
|
|
ENV VENV_PATH=/app/.venv
|
|
ENV PATH="$VENV_PATH/bin:$PATH"
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
FROM base as builder
|
|
|
|
ENV POETRY_VIRTUALENVS_IN_PROJECT=1
|
|
ENV POETRY_NO_INTERACTION=1
|
|
ENV POETRY_VIRTUALENVS_CREATE=1
|
|
|
|
RUN pip install poetry
|
|
|
|
COPY pyproject.toml poetry.lock ./
|
|
|
|
RUN poetry install --no-root
|
|
|
|
|
|
FROM base as runtime
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PYTHONPATH=/app
|
|
|
|
|
|
COPY --from=builder "$VENV_PATH" "$VENV_PATH"
|
|
|
|
EXPOSE 80
|
|
|
|
COPY src ./src
|
|
|