﻿FROM python:3.12-slim

WORKDIR /app

# Dependencias del sistema para opencv y easyocr
RUN apt-get update && apt-get install -y \
    libgl1 \
    libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

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

# Pre-descargar modelos de EasyOCR (es + en) para evitar esperas en produccion
RUN python -c "import easyocr; easyocr.Reader(['es', 'en'], gpu=False, verbose=False)"

COPY . .

# Crear carpetas que necesita la app con permisos abiertos
# para que el usuario del host pueda escribir en los volúmenes montados
RUN mkdir -p tickets datos && chmod -R 777 tickets datos

EXPOSE 5000

CMD ["gunicorn", "-w", "2", "-b", "0.0.0.0:5000", "--timeout", "120", "app:app"]