The Docker image currently works on Windows and Linux, optionally supporting NVIDIA GPUs.
- The resulting Docker image is 21 GB in size. Building might require even more disk space temporarily.
- Another 15 GB is required for building DeepSpeed
- Build time depends on your hardware and internet connection. Expect at least 20-30min to be normal for a full build.
- This includes building the conda environment as well as DeepSpeed, which is the basis for the alltalk Docker image.
- The Docker build for alltalk:
- Downloads XTTS as default TTS engine
- Enables RVC by default
- Downloads all supported RVC models
- Enables deepspeed by default
- Starting the Docker image should only a few seconds due to all the steps that were already executed during build.
- Make sure the latest nvidia drivers are installed:
sudo ubuntu-drivers install
- Install Docker your preferred way. One way to do it is to follow the official documentation here.
- Start by uninstalling the old versions
- Follow the "apt" repository installation method
- Check that everything is working with the "hello-world" container
- If, when launching the docker contain, you have an error message saying that the GPU cannot be used, you might have to install Nvidia Docker Container Toolkit.
- Install with the "apt" method
- Run the docker configuration command
sudo nvidia-ctk runtime configure --runtime=docker
- Restart docker
Make sure your Nvidia drivers are up to date: https://www.nvidia.com/download/index.aspx
- Install WSL2 in PowerShell with
wsl --install
and restart - Open PowerShell, type and enter
ubuntu
. It should now load you into wsl2 - Remove the original nvidia cache key:
sudo apt-key del 7fa2af80
- Download CUDA toolkit keyring:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
- Install keyring:
sudo dpkg -i cuda-keyring_1.1-1_all.deb
- Update package list:
sudo apt-get update
- Install CUDA toolkit:
sudo apt-get -y install cuda-toolkit-12-4
- Install Docker Desktop using WSL2 as the backend
- Restart
- If you wish to monitor the terminal remotely via SSH, follow this guide.
- Open PowerShell, type
ubuntu
, then follow below
- Open a terminal (or Ubuntu WSL) and go where you cloned the repo
- Build the image with
./docker-build.sh
- Start the container with
./docker-start.sh
- Visit
http://localhost:7851/
or remotely withhttp://<ip>:7851
There are various arguments to customize the build and start of the docker image.
--tts_model
allows to choose the TTS model that is used by default. Valid values arepiper
,vits
,xtts
. Defaults toxtts
.- Example:
docker-build.sh --tts_model piper
- Example:
--tag
allows to choose the docker tag. Defaults tolatest
.- Example:
docker-build.sh --tag mytag
- Example:
--clean
allows remove existing dependency build like conda environment or DeepSpeed.- Example:
docker-build.sh --clean
- Example:
--config
lets you choose a config JSON file which can subset ofconfignew.json
. This allows you to change only few values and leave the rest as defined in the defaultconfignew.json
file.- Example:
docker-start.sh --config /my/config/file.json
with content{"branding": "My Brand "}
will just change the branding inconfignew.json
.
- Example:
--voices
lets you add voices for the TTS engine in WAV format. You have to specify the folder containing all voice files.- Example:
docker-start.sh --voices /my/voices/dir
- Example:
--rvc_voices
similar to voices, this option lets you pick the folder containing the RVC models.- Example:
docker-start.sh --rvc_voices /my/rvc/voices/dir
- Example:
--no_ui
allows you to not expose port 7852 for the gradio interface. Note that you still have to setlaunch_gradio
tofalse
via JSON file passed to--config
.--tag
allows to choose the docker tag of the image to run. Defaults tolatest
.- Example:
docker-start.sh --tag mytag
- Example:
- Since the above commands only address the most important options, you might pass additional arbitrary docker commands
to the
docker-start.sh
.