Andrei Iashchak d6db9dc99f
optimize(dockerfile): 将"copy . ."移至系统设置之后 (#1937)
将Dockerfile中的"copy . ."指令移至系统设置之后的副作用是构建过程现在将在复制文件之前缓存层。
这意味着如果系统设置保持不变,后续构建将更快,因为将重用缓存的层。

optimize(dockerfile): Moved "copy . ." after system setup

The side effect of moving the "copy . ." instruction after the system setup in the Dockerfile is that the build process will now cache the layers before copying the files.
This means that if the system setup remains unchanged, subsequent builds will be faster as the cached layers will be reused.
2024-04-11 16:53:19 +09:00

47 lines
2.5 KiB
Docker

# syntax=docker/dockerfile:1
FROM nvidia/cuda:11.6.2-cudnn8-runtime-ubuntu20.04
EXPOSE 7865
WORKDIR /app
# Install dependenceis to add PPAs
RUN apt-get update && \
apt-get install -y -qq ffmpeg aria2 && apt clean && \
apt-get install -y software-properties-common && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Add the deadsnakes PPA to get Python 3.9
RUN add-apt-repository ppa:deadsnakes/ppa
# Install Python 3.9 and pip
RUN apt-get update && \
apt-get install -y build-essential python-dev python3-dev python3.9-distutils python3.9-dev python3.9 curl && \
apt-get clean && \
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 && \
curl https://bootstrap.pypa.io/get-pip.py | python3.9
# Set Python 3.9 as the default
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
COPY . .
RUN python3 -m pip install --no-cache-dir -r requirements.txt
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/D40k.pth -d assets/pretrained_v2/ -o D40k.pth
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/G40k.pth -d assets/pretrained_v2/ -o G40k.pth
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0D40k.pth -d assets/pretrained_v2/ -o f0D40k.pth
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0G40k.pth -d assets/pretrained_v2/ -o f0G40k.pth
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP2-人声vocals+非人声instrumentals.pth -d assets/uvr5_weights/ -o HP2-人声vocals+非人声instrumentals.pth
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP5-主旋律人声vocals+其他instrumentals.pth -d assets/uvr5_weights/ -o HP5-主旋律人声vocals+其他instrumentals.pth
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt -d assets/hubert -o hubert_base.pt
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/rmvpe.pt -d assets/rmvpe -o rmvpe.pt
VOLUME [ "/app/weights", "/app/opt" ]
CMD ["python3", "infer-web.py"]