# syntax=docker/dockerfile:1 ARG PYTHON_VERSION=3.12.7 FROM python:${PYTHON_VERSION} # Prevents Python from writing pyc files. ENV PYTHONDONTWRITEBYTECODE=1 # Keeps Python from buffering stdout and stderr to avoid situations where # the application crashes without emitting any logs due to buffering. ENV PYTHONUNBUFFERED=1 RUN --mount=type=cache,target=/root/.cache/pip \ python -m pip install poetry WORKDIR /app COPY pyproject.toml . COPY poetry.lock . RUN --mount=type=cache,target=/root/.cache/pip \ poetry install --no-dev --compile COPY src/ src/ CMD [ "poetry", "run", "python", "src/main.py" ]