Home / Blog Center / Tips & Tutorials /

How to Install Navidrome on UGREEN NAS with Docker

How to Install Navidrome on UGREEN NAS with Docker

17/03/2026

Navidrome is a lightweight, self-hosted music server for streaming your personal audio collection through a web browser or compatible mobile and desktop apps. It is a third-party Docker service and is separate from the built-in UGOS Pro Music app.

You can install Navidrome on a Docker-compatible UGREEN NAS, the DH2300 cannot use this method because it does not support Docker, while the DH4300 Plus and current DXP models do.

Key Takeaways

  • Navidrome runs through Docker on the DH4300 Plus and current UGREEN NAS DXP models. The DH2300 does not support Docker.
  • Navidrome needs read-and-write access to its persistent /data folder and read access to the mounted /music folder.
  • The default web port is 4533, so local access normally uses http://NAS_IP:4533.
  • UGREENlink can provide remote browser access to a container shortcut. Remote music apps require a reachable private address or a properly configured HTTPS endpoint.

Can You Install Navidrome on Every UGREEN NAS?

No. This installation method requires Docker support. The following current UGREEN NAS models support Docker:

  • DH4300 Plus
  • DXP2800
  • DXP2800 GT
  • DXP4800 Plus
  • DXP4800 Pro
  • DXP4800 GT
  • DXP480T Plus
  • DXP6800 Pro
  • DXP8800 Plus

The DH2300 does not support Docker and therefore cannot run Navidrome using this guide.

UGREEN NAS Server

How Do You Install Navidrome with Docker Compose?

The installation consists of preparing the folders and permissions, finding the user and group IDs that Navidrome will use, and deploying the Compose project.

Step 1: Install Docker and Find Your NAS IP Address

Open App Center, locate Docker, and select Install.

Next, open:

Control Panel > Network > Network Connection

Note the IP address assigned to the active LAN connection. For example:

192.168.1.50
find NAS IP address

You will use this address to open Navidrome after deployment.

If you are new to Docker projects, see how Docker and Docker Compose work on UGREEN NAS.

Step 2: Create the Navidrome Folders

Open Files and locate the Docker shared directory created when Docker was installed.

Create the following folder structure:

docker
└── navidrome
    └── data

The data folder will store Navidrome’s database, cache, users, playlists, play history, and other persistent application data.

Next, create or identify the shared folder that contains your music. For example:

Music
├── Artist One
│   └── Album One
└── Artist Two
    └── Album Two

Record the absolute path of each folder. If both folders are stored on volume 1, the paths may look like:

/volume1/docker/navidrome/data
/volume1/Music

Replace volume1, folder names, and capitalization with the actual paths on your NAS. Linux paths are case-sensitive.

Step 3: Create a Dedicated Navidrome User

Open:

Control Panel > User Management > User > Add > Create

add UGREEN user

Create a standard user named navidrome. Grant that user:

  • Read and write permission for the Navidrome data folder
  • Read permission for the music folder
  • No access to unrelated shared folders

The music folder will also be mounted as read-only in Docker, giving it an additional layer of protection.

Step 4: Find the Navidrome User’s UID and GID

Docker identifies users with numeric user and group IDs. These numbers vary between NAS installations, so obtain the values from your own system.

Open:

Control Panel > Terminal

Enable SSH temporarily and note the configured SSH port. The default port is 22.

On Windows, open Command Prompt. On macOS, open Terminal. Connect using an administrator account:

ssh <admin_username>@<NAS_IP> -p 22

For example:

ssh alex@192.168.1.50 -p 22

After signing in, run:

id navidrome

The result will resemble:

uid=1026(navidrome) gid=100(users) groups=100(users)

In this example, the UID is 1026 and the GID is 100, so the Compose file would use:

user: "1026:100"

Your values may be different. Record the numbers shown by your NAS, sign out of SSH, and disable SSH again if you do not normally use it.

SSH is needed only once to obtain these numeric IDs. Removing the user: line causes the container to run as root, which may avoid initial permission errors but gives it broader filesystem access than it needs. This guide does not recommend that configuration. If you prefer a music server that requires no terminal access, use the built-in UGOS Pro Music app instead.

Step 5: Create the Docker Compose Project

Open the Docker application and select:

Project > Create

Enter navidrome as the project name. Paste the following configuration into the Compose editor, or upload it as a YAML file if prompted:

services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    user: "<UID>:<GID>"
    ports:
      - "4533:4533"
    restart: unless-stopped
    volumes:
      - "/volume1/docker/navidrome/data:/data"
      - "/volume1/Music:/music:ro"

Before deploying, replace:

  • <UID> with the Navidrome user’s numeric UID
  • <GID> with the Navidrome user’s numeric GID
  • /volume1/docker/navidrome/data with the actual data-folder path
  • /volume1/Music with the actual music-folder path

The /data mount is writable because Navidrome must create and update its database. The /music:ro mount is read-only, allowing Navidrome to scan and stream the library without changing the source files.

If another container already uses host port 4533, change the first number only:

ports:
  - "4534:4533"

You would then open Navidrome at http://NAS_IP:4534.

Step 6: Deploy Navidrome

Review the folder paths, UID, GID, and port mapping, then select Deploy.

UGOS Pro will download the Navidrome image and start the container. The initial download time depends on your internet connection.

Open Docker > Container and confirm that the navidrome container shows Running.

How Do You Open Navidrome and Scan Your Music?

Open a browser on a device connected to the same local network and enter:

http://<NAS_IP>:4533

For example:

http://192.168.1.50:4533

If you selected another host port, use that port instead.

The first person to open Navidrome will be asked to create an administrator. Enter a username and strong password, confirm the password, and select Create Admin.

These are Navidrome credentials, not your UGREEN NAS username and password.

Navidrome will begin scanning the mounted music folder. Albums and artists will appear progressively.

You can confirm progress under Docker > Container > navidrome > Log. A successful startup normally includes messages such as:

Creating DB Schema
Scanner: Starting scan
Navidrome server is ready!

Why Is Music Not Appearing in Navidrome?

Start with the container status and log.

Symptom Likely cause First check
Container stops after starting /data is not writable Data-folder permission and UID/GID
Interface opens but shows no music /music cannot be read Music path and read permission
Browser cannot connect Wrong IP, port, or container state Port mapping and container log
Albums are split or mislabeled Inconsistent embedded tags Album artist, album, and track tags
Container will not deploy Host port is already in use Change the first port number

The Container Stops with a Database Error

An error such as the following indicates that Navidrome cannot write to /data:

unable to open database file

Confirm that:

  • The host data-folder path exists.
  • The navidrome user has read and write permission.
  • The UID and GID in Compose match the values returned by id navidrome.
  • The path uses the correct volume number and capitalization.

After correcting the permission or path, open the Docker project and redeploy it.

Navidrome Opens but the Library Is Empty

An empty library usually means that the music folder was mounted incorrectly or the container user cannot read it.

Check the log for messages such as:

permission denied
Scanner: Target folder does not exist

Then confirm that:

  • The host music path is correct.
  • The path is mounted to /music.
  • The navidrome user has read permission for the folder and its files.
  • The folder contains supported audio files.
  • Each parent directory in the path can be opened by that user.

The :ro setting does not prevent Navidrome from reading the files. It prevents the container from modifying them.

Albums or Artists Are Organized Incorrectly

Navidrome organizes music primarily from embedded tags rather than the folder structure alone. At minimum, check these fields in the affected files:

  • Track title
  • Artist
  • Album artist
  • Album
  • Track number
  • Disc number

Navidrome can use embedded artwork and common cover files such as cover.jpg, folder.jpg, or front.jpg. Correcting the source tags and rescanning the library is more reliable than depending on folder names to organize the collection.

Navidrome does not provide true folder browsing. Folder-style views are generated from the file metadata.

How Can You Access Navidrome Remotely?

Local access through http://NAS_IP:4533 works only while the client can reach your home network. Remote browser access and remote playback-app access require different setups.

Option 1: Use a UGREENlink Container Shortcut for Browser Access

UGOS Pro can expose a container’s web interface through a desktop shortcut when you sign in remotely with a UGREENlink ID.

Open:

Docker > Container

Locate navidrome, select the three-dot menu, and choose Desktop shortcut. Confirm port 4533, or enter the custom host port you selected.

After signing in to your NAS through UGREENlink, select the Navidrome shortcut on the UGOS Pro desktop to open its web interface.

This method is useful for browser-based access. A third-party Subsonic app cannot use a UGREENlink ID as its Navidrome server address.

Option 2: Use a Private Network

A private-network service such as Tailscale can give approved devices a private route to the NAS without publishing port 4533 directly to the internet.

Once the private connection is working, enter the NAS private-network address in the Navidrome app:

http://<NAS_PRIVATE_IP>:4533

Both the NAS and playback device must be connected to the same private network.

Option 3: Use an HTTPS Reverse Proxy

A reverse proxy can forward a hostname such as:

https://music.example.com

to Navidrome at:

http://<NAS_IP>:4533

Use a valid TLS certificate and test the connection from outside the home network. This option is appropriate when you need a conventional HTTPS address that multiple compatible clients can reach.

Keep plain HTTP and port 4533 limited to your local or private network. Directly exposing an unencrypted address such as http://PUBLIC_IP:4533 sends login and playback traffic without HTTPS protection.

For the current UGREENlink and DDNS configuration paths, see how to access a UGREEN NAS remotely.

Frequently Asked Questions

What is the default Navidrome port?

Navidrome uses TCP port 4533 by default. With the Compose mapping 4533:4533, open http://NAS_IP:4533 to access the web interface.

Which audio formats does Navidrome support?

Navidrome supports common formats including MP3, FLAC, AAC, OGG, Opus, WMA, APE, and WavPack. Browser and client codec support varies, so Navidrome can transcode audio when a player cannot use the source format directly.

Can I change the Navidrome port?

Yes. Change the first number in the Docker port mapping. For example, 4534:4533 makes Navidrome available at http://NAS_IP:4534 while the container continues using its internal port 4533.

Is Navidrome the same as the UGREEN Music app?

No. Navidrome is a third-party music server that runs through Docker. The UGREEN Music app is a built-in UGOS Pro application. They provide separate libraries, user accounts, interfaces, and application data.

Quick Navigation
Top Picks for You
UGREEN NASync DXP2800
UGREEN NASync DXP2800

$346.99 $439.99

Learn More
$93 OFF
flag
Related Reads
Connect UGREEN NAS to Mac: Finder and Time Machine Setup
Connect UGREEN NAS to Mac: Finder and Time Machine Setup
27/11/2024