FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder WORKDIR /app ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy COPY pyproject.toml uv.lock ./ RUN --mount=type=cache,target=/root/.cache/uv \ uv sync --frozen --no-install-project --no-dev COPY src/ src/ COPY alembic/ alembic/ COPY alembic.ini . COPY README.md . RUN --mount=type=cache,target=/root/.cache/uv \ uv sync --frozen --no-dev --no-editable FROM python:3.12-slim-bookworm WORKDIR /app COPY --from=builder /app/.venv /app/.venv COPY --from=builder /app/alembic /app/alembic COPY --from=builder /app/alembic.ini /app/alembic.ini ENV PATH="/app/.venv/bin:$PATH" EXPOSE 8000 CMD ["uvicorn", "proxy_pool.app:create_app", \ "--factory", "--host", "0.0.0.0", "--port", "8000"]