Ubuntu Tutorial: Music and Radio streaming with Navidrome

Navidrome is a self-hosted music and radio streaming service that allows you to manage and stream your personal music collection from anywhere. In this tutorial, we’ll guide you through setting up Navidrome on Ubuntu, so you can easily organize your music library and enjoy seamless streaming.

Let’s start by creating a folder for the app’s data, in it also create a file named ‘docker-compose.yml’:

mkdir dozzle
cd dozzle
nano docker-compose.yml

In the docker compose file, paste the following configuration, changing the base URL and music volume:

services:
  navidrome:
    image: deluan/navidrome:latest
    user: "1000:1000" # should be your user:group id
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      ND_LOGLEVEL: "info"
      ND_BASEURL: "http://yourip:4533" # change to your IP or domain
      ND_ENABLEINSIGHTSCOLLECTOR: false
    volumes:
      - "./data:/data"
      - "./music:/music:ro" # change left side to your music folder

Now we create both the data and music folders, both must be owned by the same user as the one set in the compose file. The music folder can be an external drive or even a network share, it just needs to exist and be owned by the user or with permissions for everyone to read from.

mkdir music
mkdir data

With the folders created and the compose file saved, lets now start our app with:

docker compose up -d

Once the app starts up, go to the following address in your browser:

http://yourip:4533

You will be greeted with an account creation screen, write a username and password and click ‘CREATE ADMIN’:

You can then add all your songs to the music folder (in my case I used WinSCP to connect via SFTP, but ideally you would set up a SAMBA share):

After moving your songs to the folder, they should be visible in the Songs tab of Navidrome, if they aren’t, press the refresh icon in the top right:

You can also add radio channels to your Navidrome library, click on the Radios tab and add a new one. To find the Stream URL, you can use a tool like StreamURL or FMStream.

If you want an app to listen your library on your phone or computer, check out the list of compatible apps. And that is all for this article. Thanks for reading! Stay tuned for more tech insights and tutorials. Until next time, and keep exploring the world of tech!