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"]