# ─── Base: Python 3.11 slim ──────────────────────────────────────────────────
FROM python:3.11-slim

ENV DEBIAN_FRONTEND=noninteractive \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

# ─── Dependencias mínimas del sistema para compilar dlib ─────────────────────
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    cmake \
    libopenblas-dev \
    liblapack-dev \
    libsm6 \
    libxext6 \
    && rm -rf /var/lib/apt/lists/*

# ─── Directorio de trabajo ───────────────────────────────────────────────────
WORKDIR /app

# ─── Instalar dependencias Python ────────────────────────────────────────────
COPY requirements.txt .
RUN pip install --upgrade pip --no-cache-dir && \
    pip install --no-cache-dir -r requirements.txt

# ─── Copiar solo el código fuente ────────────────────────────────────────────
COPY app.py reconocimiento.py database.py ./
COPY templates/ templates/
COPY caras_db/ caras_db/

# ─── Puerto Flask ─────────────────────────────────────────────────────────────
EXPOSE 8010

# ─── Arranque ────────────────────────────────────────────────────────────────
CMD ["python", "app.py"]
