Spaces:
Running
Running
| FROM python:3.10-slim | |
| # Set working directory | |
| WORKDIR /app | |
| # Install system dependencies | |
| RUN apt-get update && apt-get install -y \ | |
| ffmpeg \ | |
| git \ | |
| gcc \ | |
| g++ \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Pin setuptools<81 (pkg_resources was removed in setuptools>=81). | |
| # --no-build-isolation makes pip skip creating an isolated subprocess env, | |
| # so it uses OUR pinned setuptools instead of downloading the latest one. | |
| RUN pip install --no-cache-dir "setuptools<81" wheel cython | |
| # Install legacy packages with --no-build-isolation so pip reuses the | |
| # pinned setuptools above instead of pulling setuptools>=81 into a temp env. | |
| RUN pip install --no-cache-dir --no-build-isolation openai-whisper==20231117 | |
| RUN pip install --no-cache-dir --no-build-isolation https://github.com/ludlows/python-pesq/archive/master.zip | |
| # Copy and install remaining requirements | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copy application files | |
| COPY . . | |
| # Expose port (HF Spaces uses port 7860) | |
| EXPOSE 7860 | |
| # Run FastAPI with uvicorn | |
| CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |