# ------------------------------------------------- # Base image (CPU) # HuggingFace recommends Python 3.10 for Spaces # ------------------------------------------------- FROM python:3.10-slim # ------------------------------------------------- # Set working directory # ------------------------------------------------- WORKDIR /app # ------------------------------------------------- # Install system dependencies # ------------------------------------------------- RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ libffi-dev \ && rm -rf /var/lib/apt/lists/* # ------------------------------------------------- # Copy requirements first (better caching) # ------------------------------------------------- COPY requirements.txt . # ------------------------------------------------- # Install Python dependencies # ------------------------------------------------- RUN pip install --no-cache-dir -r requirements.txt # ------------------------------------------------- # Copy project files # ------------------------------------------------- COPY . . # ------------------------------------------------- # Expose port 7860 (required by HuggingFace Spaces) # ------------------------------------------------- EXPOSE 7860 # ------------------------------------------------- # Start FastAPI app # NOTE: HuggingFace uses 0.0.0.0 + port 7860 # ------------------------------------------------- CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]