| # Usar imagen base con Python | |
| FROM python:3.11-slim | |
| # Instalar dependencias del sistema | |
| RUN apt-get update && apt-get install -y \ | |
| curl \ | |
| build-essential \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Configurar directorio de trabajo | |
| WORKDIR /app | |
| # Copiar requirements primero para aprovechar cache de Docker | |
| COPY requirements.txt . | |
| # Instalar dependencias Python | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copiar archivos de la aplicación | |
| COPY app.py . | |
| # Crear usuario no-root para seguridad | |
| RUN useradd --create-home --shell /bin/bash app | |
| RUN chown -R app:app /app | |
| USER app | |
| # Exponer puerto 7860 (requerido por HF Spaces) | |
| EXPOSE 7860 | |
| # Variables de entorno para HF Spaces | |
| ENV PYTHONUNBUFFERED=1 | |
| ENV PYTHONIOENCODING=UTF-8 | |
| # Comando de inicio - usar app.py como principal | |
| CMD ["python", "app.py"] | |