# Usa una imagen base de Python FROM python:3.11-slim # Crear un nuevo usuario no root para mayor seguridad RUN useradd -m -s /bin/bash appuser # Establecer directorio de trabajo WORKDIR /home/appuser/app # Instalar dependencias del sistema necesarias para OpenCV RUN apt-get update && apt-get install -y libgl1-mesa-glx libglib2.0-0 && apt-get clean # Copiar el archivo de dependencias y instalarlas COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copiar el código de la aplicación COPY . . # Cambiar permisos al usuario no root RUN chown -R appuser:appuser /home/appuser/app # Cambiar al usuario no root USER appuser # Exponer el puerto donde correrá la aplicación EXPOSE 7860 # Comando para iniciar la aplicación CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]