# Listen on /sockets/app.sock (the deploy hook mounts that path).
# Keep CMD in sync with APP_CMD in ops/deploy.
FROM python:3.14-slim-bookworm AS builder

WORKDIR /workspace

RUN apt-get update && \
    apt-get install -y --no-install-recommends gcc build-essential && \
    rm -rf /var/lib/apt/lists/*

RUN pip install --no-cache-dir uv

COPY . /workspace

RUN --mount=type=cache,target=/root/.cache/uv \
    uv sync --no-dev

FROM python:3.14-slim-bookworm

ENV PYTHONUNBUFFERED=1
WORKDIR /workspace

COPY --from=builder /workspace /workspace

ENV PATH="/workspace/.venv/bin:$PATH"

CMD @@CONTAINER_CMD@@
