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

ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/app/src

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

WORKDIR /app

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

# Copy source and assets
COPY src/ src/
COPY assets/ assets/

# Generate the mask asset PNG at build time so it's baked into the image
RUN python3.12 assets/masks/generate_mask_asset.py

EXPOSE 8010

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