FROM python:3.11-slim # HuggingFace requires port 7860 EXPOSE 7860 # System deps for lxml/feedparser RUN apt-get update && apt-get install -y --no-install-recommends \ gcc libxml2-dev libxslt-dev curl \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Install Python deps first (layer cache) COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy app code COPY app.py . COPY services/ ./services/ COPY static/ ./static/ # HuggingFace runs as non-root user 1000 RUN useradd -m -u 1000 appuser && chown -R appuser /app USER 1000 CMD ["python", "app.py"]