# cync API server (FastAPI) — container for Cloud Run / any Docker host.
FROM python:3.12-slim

WORKDIR /app

# Install the package + server extras (fastapi, uvicorn, boto3, pydantic).
# README.md + LICENSE are needed because pyproject references them (readme/license).
COPY pyproject.toml README.md LICENSE ./
COPY src ./src
RUN pip install --no-cache-dir ".[server]"

ENV CYNC_STORAGE=r2
# Cloud Run injects $PORT (defaults to 8080); bind all interfaces.
CMD ["sh", "-c", "uvicorn cync.server:app --host 0.0.0.0 --port ${PORT:-8080}"]
