# Use Python 3.7 as base image | |
FROM python:3.7-slim | |
# Set the working directory inside the container | |
WORKDIR /app | |
# Install system dependencies | |
RUN apt-get update && apt-get install -y \ | |
git \ | |
python3-pip \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Copy the entire project, including the Indic-TTS directory, into the container | |
COPY . /app | |
# Verify that the Indic-TTS directory exists | |
RUN ls -al /app/Indic-TTS | |
# Install dependencies for Trainer and TTS | |
RUN cd /app/Indic-TTS/Trainer && \ | |
python3 -m pip install -e .[all] && \ | |
cd ../TTS && \ | |
python3 -m pip install -e .[all] && \ | |
cd .. && \ | |
python3 -m pip install -r requirements.txt | |
# Install Gradio and upgrade to the latest version | |
RUN python3 -m pip install --upgrade gradio | |
# Create a writable directory for Gradio's flagging | |
RUN mkdir -p /app/flagged && \ | |
chmod -R 777 /app/flagged | |
# Set the MPLCONFIGDIR environment variable to a writable directory | |
ENV MPLCONFIGDIR=/app/.config/matplotlib | |
# Set working directory back to /app | |
WORKDIR /app | |
# Set the default command to run your app | |
CMD ["python3", "app.py"] | |