FROM python:3.10-slim WORKDIR /app # Instalar dependencias esenciales del sistema para OpenCV RUN apt-get update && apt-get install -y \ libgl1-mesa-glx \ libglib2.0-0 \ libgomp1 \ && rm -rf /var/lib/apt/lists/* # Configurar variables de entorno para Matplotlib y Ultralytics ENV MPLCONFIGDIR=/tmp/matplotlib ENV YOLO_CONFIG_DIR=/tmp/ultralytics # Crear directorios necesarios RUN mkdir -p /app/static /app/models /app/database # Copiar requirements.txt primero para aprovechar caché de Docker COPY requirements.txt . # Instalar dependencias RUN pip install --no-cache-dir -r requirements.txt # Copiar el resto de archivos COPY . . # Crear directorios necesarios para la aplicación RUN mkdir -p /app/static/uploads /app/static/images /app/database \ && chmod -R 777 /app /tmp # Exponer el puerto que utiliza Streamlit por defecto EXPOSE 8501 # Comando para ejecutar la aplicación CMD ["streamlit", "run", "app.py", "--server.headless", "true", "--server.port=8501", "--server.address=0.0.0.0"]