Navidrome is a platform for building a music streaming server.


What is Navidrome?

Navidrome is a lightweight and user-friendly music server software. With Navidrome, you can stream and enjoy your music library from anywhere. It’s open-source and works on many platforms. The installation and setup are simple, making it easy for beginners to get started.

Key Features

  • Cross-Platform: Navidrome is available on various operating systems such as Windows, macOS, and Linux.
  • Web-Based Interface: Listen to your music from anywhere using a browser.
  • Playlist Creation: Easily create and manage playlists with your favorite songs.
  • Tag Editing: Edit the information of your tracks (artist, album, genre, etc.) with ease.

Navidrome Installation and Setup

In the following article, we also explain the installation and setup of a similar software called Koel. Please feel free to check it out for more information.

Today, we will install another music streaming server called Navidrome.

Navidrome is an open-source web-based music streaming and media server that allows you to stream your music collection privately. It is also compatible with Subsonic and Airsonic clients.

Navidrome is lightweight and provides a unique interface for managing and streaming your music library. It can run on various hardware, such as personal computers and small home servers.

For more details about Navidrome, please visit the official page.

Navidrome Official Page

Installation Using Docker

The official page provides instructions for installing Navidrome using Docker, which can be easily executed by copying and pasting the commands. Below is an example based on my directory structure. In this example, Navidrome’s data is stored in the home directory, but you can also use other directories like /srv/navidrome or /opt/navidrome.

Use the following command to install Navidrome:

docker run -d \
--name navidrome \
--restart=unless-stopped \
--user $(id -u):$(id -g) \
-v /home/user/navidrome/music:/music \
-v /home/user/navidrome/data:/data \
-p 4533:4533 \
-e ND_LOGLEVEL=info \
deluan/navidrome:latest

Command Explanation

  • --restart=unless-stopped: This option ensures that the container will always restart unless it is manually stopped. Even if the server reboots, Navidrome will restart automatically.
  • -v /home/user/navidrome/music:/music: This option mounts the /home/user/navidrome/music directory on the host machine to the /music directory within the container. Your music files will be stored in this directory.
  • -v /home/user/navidrome/data:/data: This option mounts the /home/user/navidrome/data directory on the host machine to the /data directory within the container. Navidrome’s configuration data and database files will be stored here.
  • -p 4533:4533: This option maps port 4533 on the host machine to port 4533 within the container. You can access the Navidrome interface through your browser by navigating to http://localhost:4533.

Navidrome is lightweight and does not require an external database like Koel, making setup very simple. Metadata for music files is managed within the container, so there is no need to set up an external database.

Opening the Port

To ensure Navidrome functions correctly, you need to open the port it uses. If a firewall is enabled, execute the following command to open port 4533:

sudo ufw allow 4533/tcp

This command allows TCP traffic on port 4533.

Accessing Navidrome

Once the port is opened, use a browser to access Navidrome. Navigate to the following URL:

http://<Server IP Address>:4533

Replace <Server IP Address> with the IP address of the machine where Navidrome is installed. For example, if you are running it locally, enter http://localhost:4533.

When the Navidrome interface is displayed correctly in your browser, proceed to create an admin account. Choose a new username and password, and click the “CREATE ADMIN” button. This will create the admin account and complete the Navidrome setup.

Post-Setup Operations for Navidrome

Once the setup is complete, you can log in to Navidrome using the username and password you created. Navidrome supports multiple languages, making it user-friendly even for those who are not comfortable with English.

Placing and Checking Music Files

To start using Navidrome, the next step is to place your music files on the server and verify them through your browser. Unfortunately, Navidrome does not support uploading music files via drag-and-drop in the browser. Therefore, you will need to place the music files directly on the PC where the server is installed.

While Koel allows for drag-and-drop uploading, when dealing with a large number of music files, it is more efficient to work directly on the PC. Place the music files in the host directory specified by the Docker docker run command (e.g., /home/user/navidrome/music).

Once the music files are in place, access Navidrome through your browser and perform a scan to display the music files in your library.

Using Navidrome on a Smartphone

Navidrome can also be used on smartphones. In this example, we’ll install an app called “Substreamer” on an Android device and connect it to the Navidrome server to listen to music. This allows you to enjoy your music library even when you’re on the go.

Finally, be sure to check out our YouTube video that summarizes how to use Navidrome.

Please share if you like it!
TOC