gpt-sovits-base / Dockerfile
Notter7's picture
Fix Dockerfile startup command
d970ece verified
Raw
History Blame Contribute Delete
2.53 kB
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"]