FROM nvidia/cuda:12.4.1-runtime-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1

RUN apt-get update && apt-get install -y --no-install-recommends \
    python3.12 python3.12-venv python3.12-dev python3-pip \
    libgl1 libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Install PyTorch with CUDA 12.4 support first (large download, cached layer)
RUN python3.12 -m pip install --no-cache-dir --break-system-packages \
    torch torchvision \
    --index-url https://download.pytorch.org/whl/cu124

# Install service dependencies
COPY pyproject.toml .
RUN python3.12 -m pip install --no-cache-dir --break-system-packages .

COPY src/ src/

EXPOSE 8011

CMD ["python3.12", "-m", "uvicorn", "src.api.app:app", "--host", "0.0.0.0", "--port", "8011"]
