FROM python:3.10-slim # System deps for Whisper (ffmpeg) and general build RUN apt-get update && apt-get install -y --no-install-recommends \ ffmpeg \ build-essential \ && 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 source COPY . . # Create cache dirs RUN mkdir -p .cache/transcriptions .cache/extractions # Expose Hugging Face Spaces default port EXPOSE 7860 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=15s --retries=3 \ CMD python -c "import httpx; httpx.get('http://localhost:7860/health').raise_for_status()" CMD ["uvicorn", "server.app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"]