Gibdos Talks FOSS

Navidrome

Navidrome is an alternative to music streaming sites like Spotify, Apple Music, etc. Unlike those streaming sites, it does not come with any music out of the box and you will need to provide your own.

My folder structure

compose.yml

services:
  navidrome:
    container_name: navidrome
    image: deluan/navidrome:latest
    user: 0:0
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      - TZ=Europe/Berlin # Change to whatever your timezone is
    volumes:
      - ./data:/data
      - ./music/:/music:ro # :ro makes the folder read-only for the container (optional)

Caddyfile Entry

music.yourdomain.com {
  reverse_proxy XXX.XXX.XXX.XXX:4533 {
   header_up X-Real-IP {remote_host}
  }
  encode zstd gzip
  import security_headers
}

Adding Music
To add music to your library, transfer them to your VPS through FileZilla.

Once your files are transfered to your VPS, connect to it through your terminal and follow these commands

# Move the music files into your Navidrome music folder
sudo mv /home/USERNAME/fz_transfer/music/* /opt/docker/navidrome/music

# Change the ownership of the files to root
sudo chown -R root:root /opt/docker/navidrome/music

Navidrome will register the new music files and add them to your streaming collection.

Additional Ressources
Official Website
Official GitHub
Official Documentation