FROM python:3.10-slim # Set environment ENV DEBIAN_FRONTEND=noninteractive ENV PYTHONUNBUFFERED=1 ENV PATH="/home/user/.local/bin:$PATH" # HF Spaces Free Tier: Force CPU-only mode ENV DOLPHIN_DEVICE=cpu ENV DOLPHIN_MAX_BATCH_SIZE=1 # Install system dependencies (poppler for pdf2image) RUN apt-get update && apt-get install -y \ poppler-utils \ git \ && rm -rf /var/lib/apt/lists/* # Create user (Hugging Face Spaces runs as user 1000) RUN useradd -m -u 1000 user USER user WORKDIR /home/user/app # Copy application code COPY --chown=user:user . . # Install Dependencies RUN pip3 install --no-cache-dir --upgrade pip && \ pip3 install --no-cache-dir -r requirements.txt # Create models directory for cached model weights RUN mkdir -p /home/user/app/models/dolphin-v2 # Expose port (HF Spaces defaults to 7860) EXPOSE 7860 # Start the worker directly (no ngrok, no bash wrapper) CMD ["python3", "-m", "uvicorn", "worker:app", "--host", "0.0.0.0", "--port", "7860"]