All Python code under the src directory of this project comes from the official open-source project Anjok07/ultimatevocalremovergui. This Docker environment only provides a containerized solution for its execution and was not developed by the author of this repository.
This project provides a Docker environment to run the Ultimate Vocal Remover GUI application, accelerated by NVIDIA GPUs.
- NVIDIA GPU with corresponding drivers installed.
- Docker Engine.
- Docker Compose.
- NVIDIA Container Toolkit.
- A running X11 Server (standard on most Linux desktop environments).
-
Authorize X Server Connection
To allow the Docker container to display the GUI, you need to authorize it to access your host's X server. Execute the following command in your terminal:
xhost +local:docker
This command allows local Docker containers to connect to the X server.
-
Start the Application
Use Docker Compose to build and start the container. It's recommended to add the
--buildflag for the first launch.docker-compose up --build
If the image has already been built, you can omit the
--buildflag in the future:docker-compose up
-
Stop the Application
When you are done, press
Ctrl+Cin the terminal wheredocker-compose upis running, and then execute the following command to properly shut down and remove the container:docker-compose down
-
Revoke X Server Authorization
For security reasons, it is recommended to revoke the authorization after stopping the container:
xhost -local:docker
The docker-compose.yml file is pre-configured with all the necessary environment variables and volume mounts to run the GUI application inside the container:
network_mode: host: Allows the container to use the host's network stack directly, simplifying communication for X11 and PulseAudio.environment:DISPLAY=$DISPLAY: Passes the host'sDISPLAYvariable to the container.XAUTHORITY=/root/.Xauthority: Informs the application inside the container where to find the X authentication file.
volumes:/tmp/.X11-unix:/tmp/.X11-unix: Mounts the X11 socket.${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority: Mounts the host's X authentication cookie into the container for the root user. This is crucial for the GUI to display correctly../volumes:/volumes: Mounts a local folder for easily moving audio files into and out of the container../src:/app/src: Mounts the source code for easier development and modification.