File size: 1,154 Bytes
c1d701e
c3519b8
5bdacd8
 
c1d701e
10a882c
5bdacd8
c1d701e
 
 
 
 
 
c3519b8
 
c1d701e
c3519b8
 
 
 
 
 
 
 
 
 
 
10a882c
c3519b8
 
 
 
10a882c
c3519b8
 
034ffc2
c3519b8
5bdacd8
 
6ee8500
5bdacd8
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 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"]