Spaces:
Running
Running
| FROM python:3.11-slim | |
| ENV PYTHONDONTWRITEBYTECODE=1 \ | |
| PYTHONUNBUFFERED=1 | |
| # ffmpeg is required to extract audio from uploaded videos | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends ffmpeg git \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Run as a non-root user (recommended for Spaces) | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH \ | |
| HF_HOME=/home/user/.cache/huggingface | |
| WORKDIR $HOME/app | |
| # Install dependencies first for better layer caching | |
| COPY --chown=user requirements.txt . | |
| RUN pip install --no-cache-dir --upgrade pip \ | |
| && pip install --no-cache-dir -r requirements.txt | |
| # Pre-download the Whisper model at build time so the first run is fast | |
| RUN python -c "from transformers import pipeline; pipeline('automatic-speech-recognition', model='openai/whisper-base')" | |
| COPY --chown=user . . | |
| EXPOSE 7860 | |
| CMD ["python", "app.py"] | |