Spaces:
Running
Running
| FROM python:3.11-slim | |
| # Install system dependencies including build tools and BLAS/LAPACK for scipy | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential \ | |
| libsndfile1 libsndfile1-dev \ | |
| ffmpeg \ | |
| git \ | |
| libblas-dev liblapack-dev gfortran \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /app | |
| # Copy entire project | |
| COPY . . | |
| # Install Python dependencies | |
| RUN pip install --no-cache-dir -r backend/requirements.txt | |
| # Note: XTTS model downloads on first startup (via setup_models.py) | |
| # - English models: Local (already in repo) | |
| # - Hindi XTTS: Downloaded from HF Hub to /app/backend/models/ on first deployment | |
| # Expose port (HF Spaces uses 7860) | |
| EXPOSE 7860 | |
| # Setup models and start app | |
| RUN echo "#!/bin/bash\nset -e\necho '[Startup] Ensuring models are available...'\npython /app/backend/setup_models.py\necho '[Startup] Models ready, starting gunicorn...'\nexec gunicorn --bind 0.0.0.0:7860 --workers 1 --timeout 300 backend.wsgi:app" > /app/start.sh && chmod +x /app/start.sh | |
| # Start the application | |
| CMD ["/app/start.sh"] | |