FROM python:3.11-slim

WORKDIR /app

# System dependencies for OpenCV
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        libgl1 \
        libglib2.0-0 && \
    rm -rf /var/lib/apt/lists/*

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

# Create runtime directories
RUN mkdir -p static/streams static/recordings data firmware

ENV PYTHONPATH=/app

# Default ports: C2=2626, Web=8000, UDP=5000
EXPOSE 2626 8000 5000/udp

# Generate .env from example if not mounted
ENTRYPOINT ["python", "c3po.py"]
