Skip to main content

Step 1: Running Navidrome

As mentionned before, I am going to explain how to run Navidrome using Docker Compose. If you have trouble following some steps, I will link to short videos showing how to do them.

Start by creating a folder and cd into it. video

Edit a file named docker-compose.yml and paste in this inside:

services:
  navidrome:
    image: deluan/navidrome:latest
    user: 1000:1000
    ports:
      - "4533:4533" # change it to `127.0.0.1:4533:4533` after you've set up the reverse proxy, if you plan on setting one up
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: 1h # at what frequency navidrome should scan for new content. set to 0 to disable
      ND_LOGLEVEL: info
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: "https://music.example.com" # change this to the url you want navidrome to be accessible at. remove this line if no remote access is planned
    volumes:
      - "./data:/data" # where navidrome's config etc. will be stored
      - "../music:/music:ro" # where we will put our music. `ro` means read-only so navidrome cannot edit/remove files

video

There are many, many more configuration options that you can find here.

After that, run sudo docker compose up -d and sudo docker compose logs -f. The first command start the containers required for navidrome (which is just navidrome in this case) and the second one prints the containers logs in the terminal, -f meaning follow, so keep printing new logs as they arrive. video

If everything went correctly, Navidrome should now be accessible at http://<server ip>:4533! If not, read the logs and troubleshoot yourself! (jk, I will add some troubleshooting steps!)
It should ask you to create an admin user, enter a username and password (a strong one if you plan on having remote access!) and confirm.

You should now be on Navidrome's home page, which is recently added albums.