Stacks / Sync
Navidrome
Music you stream from disk. Navidrome is GPL-3.0 — Spotify without the catalog in someone else's building.
The problem
Spotify is licensed streaming of someone else's catalog, then a Premium seat. You wanted your files, a Subsonic-compatible API, and apps that already speak it. Navidrome is GPL-3.0 (one Go binary). Jellyfin can play music too — it is the movie/show box on /replace/plex and /replace/netflix. This is not Spotify's radio, Connect speakers, or every official app.
Replaces
Spotify
Estimated SaaS saved
$1,200
per year, small team, before lock-in
Start on RailwayJellyfin if this is movies and shows, not a music server
Placeholder: Navidrome plus a volume for the music library. Bind HTTP. Clients stay on phones. No one-click template in this repo yet — Start on Railway. Movies/shows stay on /stacks/jellyfin-media.
The stack
- Navidrome
GPL-3.0 Subsonic-compatible personal music server
Cost table
| You stop paying | Typical / year | Self-host instead |
|---|---|---|
| Spotify Premium (household) | $1,200 | Navidrome + a music volume |
Agent setup prompt
Replace Spotify with Navidrome (https://www.navidrome.org). - Official image, persist config, mount the music library. Bind HTTP. Play one album in a Subsonic client. - Do not claim Spotify's licensed catalog, radio, or Connect. Write AGENT_PROMPT.md. - Movies and shows stay on /stacks/jellyfin-media.
Also as markdown: /stacks/navidrome-music.md
FAQ
- Why not Jellyfin?
- Jellyfin is the media library (/replace/plex, /replace/netflix). Navidrome is music with Subsonic apps. You can run both; do not start with both.
- Do I get Spotify's catalog?
- No. You stream files you already have. That is the point.