# 1. Use Hugging Face recommended Python image FROM python:3.9 # 2. Create non-root user (required by Hugging Face Spaces) RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" # 3. Set working directory WORKDIR /app # 4. Install essential system dependencies # - switched to root temporarily USER root RUN apt-get update && \ apt-get install -y --no-install-recommends gcc libpq-dev && \ rm -rf /var/lib/apt/lists/* USER user # 5. Copy requirements first for caching COPY --chown=user requirements.txt . # 6. Upgrade pip & install Python dependencies RUN python -m pip install --upgrade pip \ && pip install --no-cache-dir -r requirements.txt # 7. Copy the rest of the app code COPY --chown=user . . # 8. Expose Hugging Face default port EXPOSE 7860 # 9. Run Uvicorn server for FastAPI app CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"]