EspeakNGAPI / Dockerfile
WillemVH's picture
Update Dockerfile
c1d701e verified
# 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"]