Skip to content

Instantly share code, notes, and snippets.

@anttti
Created August 3, 2025 10:45
Show Gist options
  • Save anttti/013f9c91c3c4d27051b73740b0a1d022 to your computer and use it in GitHub Desktop.
Save anttti/013f9c91c3c4d27051b73740b0a1d022 to your computer and use it in GitHub Desktop.
Navidrome setup

Navidrome setup

Decided to spend a Saturday evening setting up Navidrome on my homelab PC. The plan was to be able to listen to music that’s stored on my Synology NAS on my phone regardless of where I am, meaning I’d probably be looking at setting up Tailscale as well. Here's what I had to do:

Prerequisites

  • Acquire cheap AF hardware. In my case, a 2nd hand 30 eur mini-PC
  • Install Proxmox to it. I used this guide (also installed Home Assistant)

Setup steps

  1. Install Navidrome using the Navidrome Proxmox VE Helper-Script
  2. Enable NFS share on my Synology’s music library partition
    1. A crucial step in making it possible for the navidrome user to be able to actually see the files within the NFS share was to select ”Squash: Map all users to admin” when setting up the NFS rule in Synology control panel. Unsure if ”Map all users to guest” would’ve worked as well, need to come back and check that
  3. Mount the NFS share on the Proxmox host
mkdir -p /mnt/music
apt update && apt install -y nfs-common
mount -t nfs 192.168.1.50:/music /mnt/music

And to make it persist:

echo "192.168.1.50:/music /mnt/music nfs defaults 0 0" >> /etc/fstab
  1. Bind-mount the share into the Navidrome LXC container, so running this in the Navidrome console:
nano /etc/pve/lxc/<CTID>.conf

Add:

mp0: /mnt/music,mp=/mnt/music

Where the second path is the mount path inside the container. Then restart the container:

pct reboot <CTID>
  1. Point Navidrome to the share. The confif file is located at /etc/navidrome/navidrome.toml, in which I added
MusicFolder = "/mnt/music"
  1. At this point the music library should be listenable in Navidrome using the local IP, in port 4533. Might as well create the Navidrome admin user at this point (will be prompted to do so when opening the web UI)
  2. Install Tailscale to the Navidrome container:
curl -fsSL https://tailscale.com/install.sh | sh
  1. Start Tailscale, create an account, add it to your Tailnet:
tailscale up
  1. Enable HTTPS using Tailscale:
tailscale serve --bg http://localhost:4533

Now it should be all set up and working! If you have Tailscale set up on your phone, you should be able to navigate to https://navidrome.tailXYZ.ts.net (get the address with tailscale serve status) and log in.

Install e.g. Amperfy to listen to your tunes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment