I've gone slightly Floor Mode on this music streaming thing
Dec. 19th, 2025 10:59 pmAll right, so first off, those Spotify assholes can go fuck themselves. With that motion carried, let's get down to business.
I'm working on a longer version of this post, but I think I'm at the point where I can manage a hyper-compressed version.
You have many ordinary music files. You want to listen to the same library on all your devices. You want the option to create and edit playlists on any device, with changes immediately reflected everywhere. You want to download a subset of the library onto any given device for offline listening, with the option to stream the rest of it. You want gapless album playback because we're not living in a drafty cave in 2003. You want sovereign autonomy, and also maybe the option to share your library with some friends and family.
You are NOT asking for too much.
The task will stretch your abilities, but there's a solid chance that it will not exceed them.
Here's how to Do The Thing.
- A Computer
- A normal physical computer on your home network with a bunch of disk to store music files, which is either always on or able to wake up upon network requests. You can dual-task a computer that's already doing other stuff, this doesn't need to be its only job. If you're installing Linux on something, make sure your media is stored on a separate disk partition from your OS and software, in case you need to rebuild the system at some point.
- Tailscale
- The only piece of actual black magic involved here. Sign up, and install it on all your mobile/laptop devices and your server. You'll get magic hostnames and IP addresses that let any connected devices securely talk to each other no matter where they are, without having to open a port on your router or anything. Now your music streaming/downloading is perfect inside your house, and possible anywhere with internet.
- If you want to get friends and family onto your server, invite them to your account. Eventually (> 3 users) this costs money, but there's a free re-implementation of the coordinating server called Headscale if you're willing to pay labor instead of cash.
- Navidrome
- There are many server apps that can speak "the Subsonic API" for serving personal music streams/downloads to an ecosystem of client apps. Navidrome is the one that has the momentum. It also has ok documentation, multi-library support (for your friends and family), good performance and restrained resource usage, and easy operational characteristics.
- Something to manage (and possibly sync) your library
- Navidrome only does the "scan and serve" part; it leaves library management to you, and you can't just add tracks from any random client device, you need to actually get organized files onto the disk somehow.
- If the scarred husk of iTunes is still working for you, just use that on your main desktop and then use
rsyncor something to sync your library to your server (if your desktop isn't your server). If you're on MusicBee or foobar2000 or something, just use that and sync. - I wish I had some less fuzzy advice here, but this is the one part of all this that's actually still low-key irreducibly complicated. I will get back to you on this one if I can derive a better answer.
- Feishin on any desktop computer
- It's fucking nice.
- Yeah, it's a RAM-guzzling Electron app, but so are spotify and qobuz and probably deezer or whatever. Doesn't matter. If you put enough effort into making things convenient and comfortable and modestly attractive, you CAN counterbalance the Electron Tax and come out on top of the available native apps, and these folks have done it.
- Be sure to configure the keyboard shortcuts to match your preferences, turn on the media hotkeys, and maybe install the
mpvhelper tool (not required, but it can potentially give slightly better sound quality if it's one of your main listening computers).
- Arpeggi on iOS things
- It's fucking nice. It's literally the best music player I've used in a decade.
- Unfortunately it's not in the app store yet because it's in a long-running beta; you have to follow the "testflight" link from the subreddit to install it. It's worth it.
- If you want a backup, you can try Narjo or Flo or Substreamer or Bragi or iSub or Amperfy or Halpoplayer or Cadence or Dromio or Musiver or Soundwaves etc. etc. etc. There's a bunch of Subsonic clients out there, though most are kind of crusty by now.
- ?? Symfonium or Dsub?? on Android things
- I don't have an android thing and cannot vouch for anything here. Symfonium seems broadly adored by everyone who doesn't mind the one-time $5 or whatever.

