FROM python:3.12-slim WORKDIR /app # Use uv for reproducible dependency installs from pyproject/uv.lock. RUN pip install --no-cache-dir uv COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-editable COPY . . ENV PATH="/app/.venv/bin:$PATH" ENV PYTHONPATH="/app:$PYTHONPATH" EXPOSE 8000 CMD ["uvicorn", "server.app:app", "--host", "0.0.0.0", "--port", "8000"]