# Hugging Face Docker Space - Streamlit (port 7860) FROM python:3.9-slim # ----------------------------- # System setup # ----------------------------- ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 # Create a non-root user (HF-friendly) RUN useradd -m -u 1000 user # ----------------------------- # App setup # ----------------------------- WORKDIR /home/user/app # Copy requirements first (better Docker layer caching) COPY requirements.txt ./requirements.txt # Install Python dependencies RUN pip install --upgrade pip && pip install -r requirements.txt # Copy application code COPY . . # Fix ownership (optional but recommended) RUN chown -R user:user /home/user/app # Switch to non-root user USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # Hugging Face expects the service on port 7860 ENV PORT=7860 EXPOSE 7860 # ----------------------------- # Run Streamlit # ----------------------------- CMD ["streamlit", "run", "app.py", \ "--server.address=0.0.0.0", \ "--server.port=7860", \ "--server.headless=true", \ "--browser.gatherUsageStats=false", \ "--server.enableXsrfProtection=false"]