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"]
