# ── Stage 1: dependency installation ───────────────────────────────────────── FROM python:3.12-slim AS builder WORKDIR /app RUN pip install --upgrade pip COPY pyproject.toml . RUN pip install --prefix=/install . # ── Stage 2: runtime ────────────────────────────────────────────────────────── FROM python:3.12-slim WORKDIR /app # Copy installed packages from builder COPY --from=builder /install /usr/local # Copy application source COPY app ./app COPY alembic ./alembic COPY alembic.ini . EXPOSE 8000 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]