FROM python:3.12-slim WORKDIR /app RUN pip install --no-cache-dir uv COPY pyproject.toml . # Dependencies only, so this layer is cached until pyproject.toml changes; `app` runs from WORKDIR. RUN uv pip install --system -r pyproject.toml --extra gcp COPY . . EXPOSE 8000 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]