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