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