Spaces:
Running
Running
| FROM continuumio/miniconda3:24.7.1-0 | |
| ENV DEBIAN_FRONTEND=noninteractive \ | |
| PYTHONUNBUFFERED=1 \ | |
| PYTHONFAULTHANDLER=1 \ | |
| PIP_NO_CACHE_DIR=1 \ | |
| is_half=False \ | |
| is_share=False \ | |
| HF_HOME=/data/.cache/huggingface \ | |
| GRADIO_SERVER_NAME=0.0.0.0 \ | |
| GRADIO_SERVER_PORT=7860 \ | |
| TERM=xterm | |
| SHELL ["/bin/bash", "-lc"] | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| git \ | |
| git-lfs \ | |
| ffmpeg \ | |
| sox \ | |
| libsox-dev \ | |
| libsndfile1 \ | |
| build-essential \ | |
| curl \ | |
| ca-certificates \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /app | |
| RUN git clone --depth 1 https://github.com/RVC-Boss/GPT-SoVITS.git . | |
| RUN python - <<'PY' | |
| from pathlib import Path | |
| replacements = { | |
| 'webui_port_main = 9874': 'webui_port_main = 7860', | |
| 's1v3.ckpt': 's1v3-ru.ckpt', | |
| 's2Gv2ProPlus.pth': 's2Gv2ProPlus-rus.pth', | |
| 'phoneme_vocab_size: 732': 'phoneme_vocab_size: 753', | |
| 'phoneme_vocab_size = 732': 'phoneme_vocab_size = 753', | |
| } | |
| for path in [Path('config.py'), *Path('GPT_SoVITS/configs').glob('*.yaml')]: | |
| if not path.exists(): | |
| continue | |
| text = path.read_text() | |
| for old, new in replacements.items(): | |
| text = text.replace(old, new) | |
| path.write_text(text) | |
| PY | |
| RUN conda create -y -n GPTSoVits python=3.10 && conda clean -afy | |
| RUN source /opt/conda/etc/profile.d/conda.sh && \ | |
| conda activate GPTSoVits && \ | |
| bash install.sh --device CPU --source HF && \ | |
| pip install --no-cache-dir epitran \ | |
| "fastapi[standard]==0.115.2" \ | |
| "starlette==0.40.0" \ | |
| "gradio==4.44.1" | |
| RUN mkdir -p GPT_SoVITS/pretrained_models/v2Pro GPT_weights_v2ProPlus SoVITS_weights_v2ProPlus && \ | |
| curl -L --retry 5 -o GPT_SoVITS/pretrained_models/s1v3-ru.ckpt \ | |
| https://huggingface.co/fuckSelf/GPT-SoVITS-Russian/resolve/main/s1v3-ru.ckpt && \ | |
| curl -L --retry 5 -o GPT_SoVITS/pretrained_models/v2Pro/s2Gv2ProPlus-rus.pth \ | |
| https://huggingface.co/fuckSelf/GPT-SoVITS-Russian/resolve/main/s2Gv2ProPlus-rus.pth && \ | |
| curl -L --retry 5 -o GPT_weights_v2ProPlus/ru-base-e20.ckpt \ | |
| https://huggingface.co/fuckSelf/GPT-SoVITS-Russian/resolve/main/ru-base-e20.ckpt && \ | |
| curl -L --retry 5 -o SoVITS_weights_v2ProPlus/ru-base_e10_s123570.pth \ | |
| https://huggingface.co/fuckSelf/GPT-SoVITS-Russian/resolve/main/ru-base_e10_s123570.pth | |
| EXPOSE 7860 | |
| CMD ["bash", "-lc", "source /opt/conda/etc/profile.d/conda.sh && conda activate GPTSoVits && cd /app && echo '=== GPT-SoVITS startup on 7860 ===' && python -u webui.py"] | |