# Dockerfile for Hugging Face Spaces (Docker SDK) FROM python:3.10-slim # System dependencies RUN apt-get update && apt-get install -y \ gcc \ g++ \ cmake \ libopenblas-dev \ libomp-dev \ curl \ && rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /app # Copy requirements first for better caching COPY requirements.txt . # Install Python dependencies RUN pip install --no-cache-dir -r requirements.txt # Copy application code COPY . . # Expose ports # 7860: Gradio UI (primary, exposed by HF Spaces) # 5001: Flask API (runs in background thread) EXPOSE 7860 5001 # Health check - check Gradio endpoint HEALTHCHECK --interval=30s --timeout=30s --start-period=60s --retries=3 \ CMD curl -f http://localhost:7860/ || exit 1 # Run main.py (starts both Gradio and Flask API) # main.py starts Flask API in background thread and launches Gradio CMD ["python", "main.py"]