# ---------- builder ------------- FROM python:3.11-slim AS builder RUN pip install --no-cache-dir uv WORKDIR /app COPY pyproject.toml ./ RUN uv pip install -r <(uv pip compile --quiet) \ && uv pip freeze > /installed.txt # layer cache COPY . . # ---------- runtime ------------- FROM python:3.11-slim ENV PYTHONUNBUFFERED=1 WORKDIR /app COPY --from=builder /installed.txt /installed.txt RUN xargs -a /installed.txt pip install --no-cache-dir COPY . . ENTRYPOINT ["bash", "docker/entrypoint.sh"]