FROM python:3.11-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1 \
    PVR_DATA_ROOT=/data/jobs \
    PVR_JOB_TTL_HOURS=24 \
    PVR_ANALYSIS_WORKERS=1

WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg ca-certificates libglib2.0-0 libgomp1 && rm -rf /var/lib/apt/lists/*
COPY requirements-web.txt ./
RUN pip install --upgrade pip && pip install -r requirements-web.txt
COPY . .
RUN python scripts/fetch_models.py
RUN mkdir -p /data/jobs
EXPOSE 8080
CMD ["/bin/sh", "-c", "exec uvicorn backend.app.main:app --host 0.0.0.0 --port ${PORT:-8080} --proxy-headers"]
