TTS_FARMLINGUA / Dockerfile
drrobot9's picture
Update Dockerfile
179c654 verified
FROM python:3.10-slim
ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1
ENV HF_HOME=/data/.cache/huggingface
ENV TRANSFORMERS_CACHE=/data/.cache/huggingface
ENV TORCH_HOME=/data/.cache/torch
ENV HUGGINGFACE_HUB_CACHE=/data/.cache/huggingface
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
wget \
curl \
libsndfile1 \
ffmpeg \
gcc \
g++ \
build-essential \
python3-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY yarngpt/ ./yarngpt/
ENV PYTHONPATH="/app:${PYTHONPATH}"
COPY app/ ./app/
RUN mkdir -p /app/models && \
python -c "import os; from huggingface_hub import snapshot_download; import time; print(' Downloading models from Remostartdev/TTS_FARMLINGUA-models...'); start = time.time(); snapshot_download(repo_id='Remostartdev/TTS_FARMLINGUA-models', local_dir='/app/models', local_dir_use_symlinks=False, resume_download=True, ignore_patterns=['*.git*', 'README.md']); print(f' Models downloaded in {time.time() - start:.1f}s')"
RUN ls -la /app/models/ && \
echo "Model files:" && \
find /app/models -type f -name "*.ckpt" -o -name "*.yaml" | xargs -r ls -lh
ENV MODEL_ID=saheedniyi/YarnGPT2b
ENV WAV_TOKENIZER_CONFIG=/app/models/wavtokenizer_mediumdata_frame75_3s_nq1_code4096_dim512_kmeans200_attn.yaml
ENV WAV_TOKENIZER_CKPT=/app/models/wavtokenizer_large_speech_320_24k.ckpt
RUN python -c "from transformers import AutoModelForCausalLM; AutoModelForCausalLM.from_pretrained('saheedniyi/YarnGPT2b')"
EXPOSE 7860
# Gunicorn with Uvicorn workers for production
CMD ["gunicorn", "app.main:app", "--workers", "4", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:7860", "--timeout", "120", "--keep-alive", "5", "--max-requests", "10000", "--max-requests-jitter", "1000"]