Self-Hosted Navidrome: Your Music Library, Your Spotify

You bought those FLAC rips in 2008. They're on a NAS folder called Music_sortof_final. Spotify doesn't have the live bootleg, and YouTube Music wants another $11 a month to maybe stream your own uploads badly. Your phone is right there. Your library is right there. Nothing connects them unless you build the bridge.

Navidrome is that bridge. ~22k GitHub stars, open source (GPL-3.0), and a personal streaming server — index your files, stream from any browser, or use Subsonic-compatible apps on iOS and Android like Symfonium, play:Sub, or Ultrasonic. Your Spotify, except you own every byte.

What it actually does

Point Navidrome at a music folder. It scans metadata (tags, album art, compilations, multi-disc box sets), builds a library database, and serves streams. Mount the music volume read-only — Navidrome never touches your FLAC files, only indexes them.

Web player. Modern Material UI interface in the browser — browse artists, albums, playlists, favourites. Multi-user: each person gets their own play counts, playlists, and stars.

Subsonic API. The killer feature for phone listening. Navidrome speaks Subsonic/Madsonic/Airsonic — decades of mobile and desktop clients already exist. Server URL, username, password, done. Offline cache, CarPlay, Android Auto, depending on the client.

Transcoding. On-the-fly conversion when your client can't handle FLAC — configurable per user or player. Opus encoding supported for bandwidth-friendly streams.

Low resource usage. Runs on Raspberry Pi Zero class hardware. Docker docs cite ~50 MB RAM for a 300 GB / 29k song library. Large collections welcome.

Auto-scan. Schedule library scans — new downloads appear without manual rescans. Multi-library support with per-user access controls if you want separate collections.

Navidrome vs Jellyfin vs Immich

We've covered other media self-hosting:

  • Immich / PhotoPrism — photos and videos, not music libraries
  • Jellyfin (not covered yet) — does music as one feature among movies and TV

Navidrome is music-only and music-first — lighter, better metadata handling for albums and compilations, and a whole Subsonic client ecosystem Jellyfin's music mode doesn't match. Run Jellyfin for the living room TV; run Navidrome when your phone is the primary player and your library is serious.

Why self-host your music?

You already own the files. No subscription for access to music you paid for twice (CD, then download). No algorithm deciding what you hear.

Privacy. Listening habits stay on your server — not a streaming platform's recommendation engine training data.

Canadian hosting. Stream from a Montreal or Toronto VPS or home NAS tunneled through VPN — your library's egress stays domestic if that matters for your setup.

Formats Spotify won't touch. FLAC, ALAC, obscure bootlegs, personal recordings — if it's a file with tags, Navidrome probably streams it.

What running it takes

Docker is the standard path — image deluan/navidrome on port 4533:

services:
  navidrome:
    image: deluan/navidrome:latest
    user: 1000:1000
    ports:
      - "4533:4533"
    volumes:
      - ./data:/data
      - /path/to/music:/music:ro
    environment:
      ND_SCANSCHEDULE: 1h

First visit creates the admin user. Back up ./data — database, playlists, cached art. Music stays in your source folder.

HTTPS via reverse proxy for remote streaming. Transcoding uses CPU when clients need it — size the box if many users transcode FLAC to Opus simultaneously. Pin image versions in production instead of bare :latest.

Who it's for (and who should skip it)

Good fit: FLAC hoarders, ex-Spotify users with large owned libraries, families sharing one music NAS, commuters who want offline cache via Subsonic apps, anyone whose music folder outgrew iTunes years ago.

Maybe skip it: you only stream Spotify and don't own files — nothing to index. You need video + music in one app — Jellyfin or Plex. You have 200 mp3s — the web UI alone might be overkill, though it still works.

Hosting it in Canada

Navidrome is light — it shares a VPS with your other homelab apps easily, or runs on a NAS with Docker. We host music stacks on Canadian Docker servers with fast disk for library scans, TLS for remote listening, and backup scope on the /data volume.

Tell us your library size — we'll size storage and CPU before your first full scan runs overnight.

Tags:
  • Navidrome
  • Music
  • Streaming
  • Subsonic
  • Self-Hosted

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.