Docker
Docker installation
Section titled “Docker installation”The quickest way to install nextcp/2 is by using a Docker container. This guide assumes that Docker is already installed on your system. If not, please refer to the official Docker documentation for installation instructions.
The following example uses docker compose
to set up nextcp/2 along with a fork of Universal Media Server (UMS) in a single command. While UMS is the recommended media server, you can also use any other DLNA-compatible media server, though with fewer features.
Create a docker-compose.yml
file in your project directory and add the following content:
services: ums: container_name: ums network_mode: host restart: unless-stopped# user: '1009:1003' volumes: - [MEDIA_VOLUME]:/media/music - ums_public:/profile environment: JAVA_TOOL_OPTIONS: '-Xms2048m -Xmx4096m -XX:+UseShenandoahGC -Xbootclasspath/a:/ums/web/react-client -Dums.profile.path=/profile -Dfile.encoding=UTF-8' image: ik6666/ums:latest
nextcp2: container_name: nextcp2 network_mode: host restart: unless-stopped volumes: - next_data:/nextcp2_data environment: JAVA_TOOL_OPTIONS: '-Xms1024m -Xmx2048m -XX:+UseShenandoahGC' image: ik6666/nextcp2:latest
volumes: ums_public: external: true next_data: external: true
Replace [MEDIA_VOLUME]
with the path to your media files on the host system. This will mount the media directory into the UMS container. For example, if your media files are located at /path/to/your/music
, replace [MEDIA_VOLUME]
with /path/to/your/music
.
If you want the container to run under a specific user ID and group ID, make sure to uncomment and adjust the user
property in the ums
service section. The example uses 1009:1003
, which you can change to match your system’s user and group IDs.
Create the external volumes ums_public
and next_data
if they do not exist yet. You can do this by running the following commands:
docker volume create ums_publicdocker volume create next_data
Check if the volumes were created successfully:
docker volume ls
The docker volumes are used to persist data across container restarts. The ums_public
volume is used by UMS to store its configuration and cache, while the next_data
volume is used by nextcp/2 to store its data.
If you want to use a different volume name, make sure to update the docker-compose.yml
file accordingly.
To start the containers, run the following command in the directory where your docker-compose.yml
file is located:
docker-compose up -d
To stop the containers, run:
docker-compose down
If you prefer not to use UMS as your media server, you can either replace or remove the ums
service from the docker-compose.yml
file.
Initial Application Setup
Section titled “Initial Application Setup”UMS Configuration
Section titled “UMS Configuration”Due to certain issues with Docker container networking, it is necessary to adjust the UPnP network settings. Once the containers are running, you can access the UMS web interface at http://localhost:9001
(or the IP address of your Docker host).
In the UMS web interface, navigate to the Settings
tab, then go to Server Configuration
, and click on the first tab, General Configuration.
Ensure that the Display Extended Configuration
checkbox is selected. This will enable the extended configuration options in UMS.

Next, click on Network Configuration
. Use the Enforce Network Interface
dropdown to select your Docker host’s network interface. This ensures that UMS uses the correct interface for UPnP discovery. Do not select any other interface.
In the example below, the host interface enp0s31f6
has been selected.

Save the configuration.
NextCP/2 Configuration
Section titled “NextCP/2 Configuration”Once the containers are running, you can access the NextCP/2 web interface at http://localhost:8085
(or the IP address of your Docker host).
In the NextCP/2 web interface, navigate to the App Settings
tab and scroll down to the `General Configuration“ section.
In the Bind Interface Stream Server
field, enter the same network interface name that you selected in the UMS configuration (e.g., enp0s31f6
).

Save the configuration.
Get started
Section titled “Get started”Restart the application:
docker-compose downdocker-compose up -d
You can now start using NextCP/2 with UMS as your media server. To continue configuring the application, navigate to the App Settings
tab.