# Dockerfile FROM python:3.11-slim # Crear usuario no root RUN adduser --disabled-password --gecos '' appuser WORKDIR /app # Instalar dependencias del sistema si son necesarias RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ && rm -rf /var/lib/apt/lists/* # Copiar archivos de la aplicación COPY requirements.txt . COPY server.py . COPY hypercorn.toml . # Instalar dependencias de Python RUN pip install --no-cache-dir -r requirements.txt # Configurar permisos RUN chown -R appuser:appuser /app && \ mkdir -p /home/appuser/.cache/huggingface && \ chown -R appuser:appuser /home/appuser/.cache # Variables de entorno de seguridad ENV PYTHONUNBUFFERED=1 ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONPATH=/app # Cambiar al usuario no root USER appuser # Exponer el puerto que Hugging Face Spaces espera EXPOSE 7860 # Comando para ejecutar la aplicación con Hypercorn CMD ["hypercorn", "--config", "hypercorn.toml", "server:app"]