FROM python:3.12-slim AS base FROM base AS builder COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv WORKDIR /app COPY pyproject.toml uv.lock /app/ RUN uv sync --frozen --no-install-project --no-dev COPY src /app RUN uv sync --frozen --no-dev FROM base COPY --from=builder /app /app ENV PATH="/app/.venv/bin:$PATH" WORKDIR /app RUN mkdir -p /app/data CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]