Spaces:
Sleeping
Sleeping
| # Stage 1: Build MBROLA from source | |
| FROM debian:bookworm as mbrola-builder | |
| RUN apt-get update && \ | |
| apt-get install -y build-essential wget unzip && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Download and build MBROLA from source | |
| RUN wget https://github.com/numediart/MBROLA/archive/refs/heads/master.zip -O /mbrola-src.zip && \ | |
| unzip /mbrola-src.zip -d / && \ | |
| cd /MBROLA-master && \ | |
| make && \ | |
| mv Bin/mbrola /mbrola && \ | |
| chmod +x /mbrola | |
| # Download voices | |
| RUN wget https://github.com/numediart/MBROLA-voices/archive/refs/heads/master.zip -O /voices.zip && \ | |
| unzip /voices.zip -d / && \ | |
| rm /voices.zip | |
| # Stage 2: Main application | |
| FROM python:3.9-slim | |
| # Install system dependencies | |
| RUN apt-get update && \ | |
| apt-get install -y espeak-ng ffmpeg && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Copy MBROLA from builder | |
| COPY --from=mbrola-builder /mbrola /usr/bin/mbrola | |
| COPY --from=mbrola-builder /MBROLA-voices-master/data/ /usr/share/mbrola/ | |
| RUN chmod +x /usr/share/mbrola/* | |
| # Verify installation | |
| RUN mbrola -h && ls /usr/share/mbrola | |
| # Set up app | |
| WORKDIR /app | |
| COPY . . | |
| RUN pip install -r requirements.txt | |
| CMD ["python", "app.py"] |