Leaving Spotify
I am replacing Spotify with my own music library on my own server. This note covers the players. It does not cover where the files come from.
The server: Navidrome
Navidrome scans a folder of music files and serves them over the Subsonic API. It is a single binary with a small footprint. It runs on my home machine, and Caddy on the VPS reaches it over the tailnet.
Navidrome’s own web UI works, but I found it weak. The good part is the Subsonic API, because many clients speak it.
The phone: Symfonium
Symfonium is a paid Android app that speaks Subsonic. It caches music for offline play. It connects to the Navidrome hostname with a normal login.
This hostname is one of the few that stays outside my single sign-on page. A phone app cannot click through a web login, so Navidrome keeps its own.
The browser: Feishin
On laptops I use Feishin, a web client for Subsonic servers. It runs as its own site. The browser then streams from the Navidrome hostname, so both hostnames must stay reachable.
What is still open
- Listening history. Done on 2026-10-10. Spotify’s “extended streaming history” export goes back to 2019. The library now holds almost every song from it. Twelve songs are still missing.
- Cancelling. The library is complete enough, so cancelling Spotify is the next step.