voiceclone-dev / Dockerfile
crackuser's picture
Update Dockerfile
d35b005 verified
raw
history blame
1.33 kB
FROM python:3.10-slim
WORKDIR /app
# Install system dependencies for audio processing and TTS
RUN apt-get update && apt-get install -y \
build-essential \
curl \
git \
libsndfile1 \
ffmpeg \
libavcodec-extra \
espeak \
espeak-data \
libespeak1 \
libespeak-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Copy requirements and install Python packages
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
# Pre-download TTS models to speed up first run
RUN python -c "from TTS.api import TTS; TTS('tts_models/multilingual/multi-dataset/xtts_v2')"
# Copy application
COPY . .
# Create Streamlit config
RUN mkdir -p .streamlit
RUN echo '[server]\n\
enableXsrfProtection = false\n\
enableCORS = false\n\
maxUploadSize = 200\n\
headless = true\n\
port = 7860\n\
address = "0.0.0.0"\n\
\n\
[browser]\n\
gatherUsageStats = false' > .streamlit/config.toml
# Create non-root user
RUN useradd -m -u 1000 streamlit && chown -R streamlit:streamlit /app
USER streamlit
EXPOSE 7860
ENV STREAMLIT_SERVER_HEADLESS=true
ENV STREAMLIT_SERVER_ENABLECORS=false
ENV STREAMLIT_SERVER_PORT=7860
ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]