Merkurius / Dockerfile
Masaaki Kawata
Update Dockerfile
7fa37da
#FROM debian:bookworm-slim
FROM python:3.12-slim
ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES utility,compute
ENV DEBIAN_FRONTEND noninteractive
ENV NUMBA_CACHE_DIR .cache/numba
ENV HF_HOME .cache/huggingface
ENV LOGGING_DIRECTORY logs
ENV GPT_MODEL_PATH models/milchchan-e15.ckpt
ENV SOVITS_MODEL_PATH models/milchchan_e8_s136.pth
#ENV LLAMACPP_PATH models/gemma-2-27b-it-Q5_K_M.gguf
ENV LLAMACPP_REPO_ID mlabonne/gemma-3-27b-it-abliterated-GGUF
ENV LLAMACPP_FILENAME gemma-3-27b-it-abliterated.q5_k_m.gguf
#RUN apt-get update && apt-get -y install --no-install-recommends wget build-essential libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev libgdbm-dev libbz2-dev liblzma-dev zlib1g-dev uuid-dev libffi-dev libdb-dev gcc g++ mono-mcs nodejs npm && apt-get clean && rm -rf /var/lib/apt/lists/*
#RUN wget --no-check-certificate https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz && tar -xf Python-3.10.14.tgz && cd Python-3.10.14 && ./configure --enable-optimizations && make && make install
RUN apt-get update && apt-get -y install --no-install-recommends curl build-essential libsndfile1 mecab libmecab-dev mecab-ipadic-utf8 && apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /app
RUN python -m venv /app/.venv
ENV PATH="/app/.venv/bin:$PATH"
RUN mkdir -p data/ja
RUN curl -L "https://drive.usercontent.google.com/download?id=1jaVZgQ_8g6Fp72l9U-zl2e9IyFZb1Wx7&confirm=xxx" -o data/ja/prompt.txt
RUN curl -L "https://drive.usercontent.google.com/download?id=1fAMVrrIWCBM-QdKVf-em_GJWYtL0pIjE&confirm=xxx" -o data/ja/prompt.wav
RUN curl -L "https://drive.usercontent.google.com/download?id=1XuORHMxtkq7kJAYGCGQUr5Vrt4A3Vc3v&confirm=xxx" -o data/ja/input.txt
RUN mkdir models
RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/gsv-v2final-pretrained/s1bert25hz-5kh-longer-epoch%3D12-step%3D369668.ckpt -o models/s1bert25hz-5kh-longer-epoch=12-step=369668.ckpt
#RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/gsv-v2final-pretrained/s2D2333k.pth -o models/s2D2333k.pth
RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/gsv-v2final-pretrained/s2G2333k.pth -o models/s2G2333k.pth
RUN curl -L "https://drive.usercontent.google.com/download?id=1u8CgF7l9NA5S_s1E25mhAFdBit8ErAup&confirm=xxx" -o models/milchchan-e15.ckpt
RUN curl -L "https://drive.usercontent.google.com/download?id=1fRgLy2iQrrD53XbMDqMsB6ZsGMBATjco&confirm=xxx" -o models/milchchan_e8_s136.pth
RUN mkdir models/chinese-hubert-base
RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/chinese-hubert-base/config.json -o models/chinese-hubert-base/config.json
RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/chinese-hubert-base/preprocessor_config.json -o models/chinese-hubert-base/preprocessor_config.json
RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/chinese-hubert-base/pytorch_model.bin -o models/chinese-hubert-base/pytorch_model.bin
RUN mkdir models/chinese-roberta-wwm-ext-large
RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/chinese-roberta-wwm-ext-large/config.json -o models/chinese-roberta-wwm-ext-large/config.json
RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/chinese-roberta-wwm-ext-large/pytorch_model.bin -o models/chinese-roberta-wwm-ext-large/pytorch_model.bin
RUN curl -L https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/chinese-roberta-wwm-ext-large/tokenizer.json -o models/chinese-roberta-wwm-ext-large/tokenizer.json
#RUN curl -L https://huggingface.co/bartowski/gemma-2-9b-it-GGUF/resolve/main/gemma-2-9b-it-Q6_K.gguf -o models/gemma-2-9b-it-Q6_K.gguf
#RUN curl -L https://huggingface.co/bartowski/gemma-2-27b-it-GGUF/resolve/main/gemma-2-27b-it-Q5_K_M.gguf -o models/gemma-2-27b-it-Q5_K_M.gguf
COPY ./requirements.txt .
RUN pip3 install --upgrade pip && pip3 install setuptools && pip3 install --no-cache-dir -r requirements.txt
COPY ./GPT_SoVITS ./GPT_SoVITS
RUN mkdir -p GPT_SoVITS/text/ja_userdic
RUN curl -L "https://drive.usercontent.google.com/download?id=10eI96nOZ5-gJweoNjMpIzDcI-OAXoSK7&confirm=xxx" > GPT_SoVITS/text/ja_userdic/user.dict
RUN curl -L "https://drive.usercontent.google.com/download?id=1j7AVeE2SaEJyPy_bBXcZqyCvuyNCnjjB&confirm=xxx" > GPT_SoVITS/text/ja_userdic/userdict.csv
RUN curl -L "https://drive.usercontent.google.com/download?id=1PTdeIaam9h10h0Zgtp8m7s27YsVT6ckE&confirm=xxx" > GPT_SoVITS/text/ja_userdic/userdict.md5
RUN mkdir -p .cache/numba
RUN mkdir -p .cache/huggingface
RUN mkdir logs
RUN chmod -R 777 .venv/lib/python3.12/site-packages/pyopenjtalk
RUN chmod -R 777 .cache
RUN chmod 777 logs
COPY ./tts.py .
COPY ./main.py .
EXPOSE 7860
CMD ["gunicorn", "main:app", "-b", "0.0.0.0:7860", "-w", "1", "-k", "uvicorn.workers.UvicornWorker"]