FROM python:3.12-slim AS builder COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /usr/local/bin/ WORKDIR /app COPY pyproject.toml uv.lock ./ RUN uv sync --no-dev --frozen --no-install-project COPY main.py . FROM python:3.12-slim WORKDIR /app COPY --from=builder /app /app ENV PATH="/app/.venv/bin:$PATH" # Cloud Run injects PORT (defaults to 8080) ENV PORT=8080 EXPOSE ${PORT} # Shell form so ${PORT} is expanded at runtime CMD python main.py --transport sse --port ${PORT}