FROM python:3.12-slim

WORKDIR /app

ENV UV_PYTHON_DOWNLOADS=never

RUN pip install --no-cache-dir uv

COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev --no-install-project --python /usr/local/bin/python

COPY . .
RUN uv sync --frozen --no-dev --python /usr/local/bin/python

EXPOSE 8000

CMD ["/app/.venv/bin/uvicorn", "server.main:app", "--host", "0.0.0.0", "--port", "8000"]
