Navidrome: Lightweight Music Streaming Server
Navidrome serves your music collection over the Subsonic API, which means a large existing ecosystem of clients works with it immediately.
Why the Subsonic API matters
Rather than building its own client apps, Navidrome implements a protocol that dozens of clients already speak: Symfonium, play:Sub, Amperfy, Feishin, Supersonic, and many more across every platform. Choose the server on its merits and the client on yours, and swap either independently.
What it does well
It is written in Go and genuinely light: a Raspberry Pi handles a large library comfortably. Scanning is fast, it handles the tag inconsistencies real collections accumulate, and it supports multiple users with separate play counts and playlists. Transcoding on the fly keeps mobile data use down, and last.fm and ListenBrainz scrobbling are built in.
What it deliberately does not do
Navidrome is a music server, not a music manager. It will not fetch missing tags, rename files, or fix your folder structure; it reads what is there. Curating tags with something like MusicBrainz Picard first makes a substantial difference to how usable the library ends up.
There is also no built-in acquisition or streaming-service integration. Your files are your files.
Versus the alternatives
Jellyfin handles music alongside video but treats it less well. Ampache is older with more features and a heavier stack. Plexamp is more polished but requires Plex and a subscription.
License
Navidrome is released under the GNU General Public License v3.0.