Full disclosure, I’m pretty new to selfhosting myself, and I haven’t written a guide like this before, but hopefully this scatterbrained writeup is enough for someone out there lmao
This is just what works for me and how I set it up. Always open to ideas for improvement as well.
So the first sentence says TV and movie streaming replacement is trivial… Can you elaborate for someone who still uses the pirate bay for movies?
I would imagine they mean something like jellyfin/plex, which don’t necessarily get you away from torrents. Unless you want to go the slightly more legal route of ripping DVDs and Blu-rays and re-encoding everything for yourself. I say “slightly more legal” because while you are legally allowed a backup or archival copy of your own media (in the US), you still usually have to violate the DMCA to break encryption so you can rip your archival copy.
Don’t forget the Arr stack.
I just rolled some of this out on my setup. I already had lidarr running, but didn’t know about the metadata issue.
Beets is running excruciatingly slow importing my music collection. Anyone have any insight on this? I’m running the Linuxserver.io docker container with a very basic config.
Soulseek is new to me and I set that up with a vpn.
Nice! For an Android music player free and compatible with your setup you can try Tempo on FDroid
To contribute a bit to this response, this fork has been releasing new versions based on the pending PRs of GitHub.
I wrote something similar about returning to traditional music formats on my own blog https://audiovalentine.com/2025/01/death-to-spotify-a-survey-of-alternatives/
You go!! I’ll keep all my cds, tapes, and records as long as we have players for them!
this is incredible! petty much exactly what i did for myself, minus the *arr part (yet)
also i am dabbling with tempo, and it’s been forked with active development!
Soon 🏴☠️
Should put a note on your blog that Lidarr’s Metadata database is being rebuilt, currently the Lidarr APi spits a bunch of 5xx errors when searching for artists/albums/etc.
https://github.com/Lidarr/Lidarr/issues/5498
If you currently have a library on the stable build the Lidarr team could use some help building the cache, they made this tool:
https://github.com/DeviantEng/lidarr-cache-warmer
It’ll search every artist in your Lidarr library so that the new database has a cache to quickly call upon.
Yeah and it’s been proper fucked for months. I set up anew server on my Mac mini M4 months ago and every now and then I spin up lidarr again to see if it is fixed and nope, won’t recognise a single album in my entire collection and can’t even manually add an artist.
Headphones is pretty terrible and slow, but it has the benefit of working.
You can petty easily point Lidarr to an alternate cache server. Either use the docker images they provide (link below) or of you already have Lidarr with plugins setup, you can do it that way (also explained in the link below)
https://github.com/blampe/hearring-aid?tab=readme-ov-file#-docker-images
I think I made a note about that, but you’re right I should make it more apparent. I did use the blampe/hearring-aid build here which solves the issue for the short term, but I’ll add a clearer note to futureproof it for when the main builds are fixed.
Your blog is really pretty!
Appreciate it! I literally just slapped it together just for this post LOL but I’ll probably start using it some more, kinda therapeutic in a way. The assets are all recycled from my streaming days, may as well still get some use out of em
Was just thinking about doing this over the weekend cuz youtube music’s offline functionality seems to have gone down drastically.
Thank you for writing and making content.
In this era, I feel like I’m in the Good Place: it’s impossible to make “good” ethical choices while engaging with modern world. Every day, some platform or artist is found supporting blood money, genocide, unfair labor, treats other artist/collaborators like shit, exploitation… Then we all have to pivot to some obscure alternative with its own issues, lest we be immoral internet users.
I’m so tired of all this shit… /rant
Y e p. It’s a nightmare tbh. No ethical consumption under capitalism etc etc
That saying too often gets used as an excuse to not even try moving away from patronizing a harmful business, as though it isn’t worth any inconvenience since we’re screwed no matter what.
You have to draw your own lines. For me I dont focus on all the bad choices, I pick something im interested in and then look at the options and try pick the choice I like the most. One thing at a time and before you know it you’ve made major choices in several areas of daily life.
The only way to be a truly moral person on this planet is to not participate in society and go completely 100% off grid. Even then the Good Place did a great episode on that, and they’re right, you’re not really living then either. It’s all just about what you’re willing to put up with
i just wanted a place i can hang out with real people without corporations mediating it. also no brainwashing by advertising.
seems like i found it for now.
Good write up. Spotify is the lsdt for me to replace
For me it’s YouTube.
What am I missing? Whats wrong with Spotify?
Hope you like face ID!
- Closed non-federated streaming platform; requires an Internet connection.
- Requires a subscription for a lot of basic functionality.
- Even though it requires a subscription, they barely pay artists - the only ongoing benefit to using a non-pirate setup.
- The increasing amount of “Perfect Fit Content” & LLM-generated music in playlists to avoid said payments.
- They provide a guaranteed platform to political podcasts.
- Audio quality is not only dependent on the subscription, but even the top-tier is generally subpar and can vary based on how they throttle you that day.
- As a platform for mass appeal, discoverability is, loosely speaking, crud.
Pick any of those you like.
Whats the pirate discover ability fix? I miss last.fm from back in the day… Always finding great small artists.
Do we really need a federated streaming platform??
Musicbrainz is also not federated, neither is wikipedia.
All the above points are bakid excepts for this
requires an Internet connection.
You can easily download for offline listening with spotify. Even piracy will require internet connection for later offline consumption, and getting music from physical media is way more work than most realistically want to do today.
Complain about paying artists yet the article is about how they automate piracy lol
I mean, I did offer it as one of over a half-dozen reasons. And my opinion is just that you shouldn’t go halfway. If you’re going to pay a subscription, the artists and staff ought to get paid. Otherwise, go full pirate and if you want to support an artist, find a way to do so directly, without platforms or labels.
What’s wrong with just buying their album on like bandcamp?
That not everyone is on bandcamp
Yeah but the person I replied to said not to go halfway and I simply don’t understand why one shouldn’t use sites like bandcamp where available.
Question: did you consider Funkwhale , and if so why did you choose this other stack instead?
Funkwhale is fucking awful. It’s awful to setup, it’s awful on resource usage, it’s awful to manage with multiple users who may share libraries.
I’m not sure how they could fix it without a rewrite.
TBH I chose Funkwhale for my solution because it looked easy and out of the box, I just add a single Docker and subdomain to my existing site.
It wound up being more or less what you describe.
I may well follow OP’s guide and nuke my Funkwhale despite the work I put into it and the fact that it does basically work for its intended purpose
Link’s broken
I’ve honestly never understood people who feel the need to “replace” Spotify. I just download the music I like to my device and listen to it via VLC. If I want to discover new music in genres I like, I’ll go and listen either to a terrestrial radio station, Soma.FM, or Pandora (which has many of Spotify’s issues for me, but serves more as a platform for discovery of obscure music). The rare times I listen to music, I’m usually going somewhere on mass transit, or I’m on foot. And during those times, my phone is either fully turned off (so I’ll use an MP3 player), or it’s in Airplane Mode. Spotify has never made sense for my use-case.
I’ve honestly never understood people who feel the need to “replace” Spotify. … Spotify has never made sense for my use-case.
I don’t know how to say this, but…you have extremely uncommon use-cases:
…during those times, my phone is either fully turned off (so I’ll use an MP3 player), or it’s in Airplane Mode.
Many people listen to music on stereos and don’t necessarily want a device plugged in, so
I just download the music I like to my device and listen to it via VLC.
either doesn’t work or is substantially less convenient than e.g. casting from a phone.
Not hating on your setup at all, but it’s very niche, in my experience.
Fair enough. My whole life has basically been defined as “very niche” since about 2012. But then again, I basically only use music to shut out the world. And yes, I said use, not enjoy. It’s basically a source of predictable noise that acts as a filter to the more random noise around me so I don’t have more issues than usual. That’s why staying in-genre matters and Pandora helps - it matches based on the predictable traits.
I need this i’ve been struggling to replace spotify.
Fantastsic post!
FWIW I suspect Jellyfin is the better choice for libraries with both music and movies. That said, we live in a world where multiple FOSS options exist to serve these roles. That should be appreciated and noticed by waaaay more people.
i‘ve first used jellyfin for movies and series for a while and then decided i also wanted to add music streaming to my nas, so i put it into jellyfin. there were a couple of things that bugged me though, and so i also installed navidrome. jellyfin and navidrome have access to the same directory with all the music i own, and i have both finamp as well as amperfy on my iphone, and i really quite prefer navidrome with amperfy. so i would say that if you already got jellyfin for movies/ series and you don’t need a lot for a music streaming platform, it’s perfectly fine. however, if you need some more music streaming specific stuff, like a nice workflow for creating playlists, you may prefer to add navidrome.
all the jellyfin music clients have weird glitches with band names and metadata. this has been with almost every (android) jellyfin client on 3 different Jellyfin servers over the years
i was almost completely sold on Jellyfin being my music server but it wasn’t quite ready for me, or possibly there is something about my library it doesn’t like.
I’ve never had an issue, hm.
What?
Just have your files properly tagged by picard/lidarr.
Improper tags = Weird behaviour you caused.Using Finamp and Symfonium on my phone.
That’s interesting to hear, finamp has been great for me for at least a year and a half. What kind of issues do you see if you don’t mind me asking
not OP, mine was miserable at detecting the song until i fixed my mp3’s internal tags.
It still crashes on some random songs on my kids playlist have never found out which one does it, it just stops playing randomly. I ended up ditching it for symphonium which isn’t free or open, but OMG. If found all my sonos, and my pixel tab and just streams, even plex has issues on my complicated network, they download your whole library list and handle searches and playlists locally instead of trying to get jellyfin to search/random which it’s not good at without plugins.
no sweat!
most of the library looks like this on anything that isn’t the native Jellyfin app on android.
I’ve struggled with it a few times before giving up.
still keep that jellyfin server running these days, on the same vm/container and library just in case.
Works fine (Finamp)
Is that the beta app or the actual release (unless they finally made it out of beta)? Just asking because there is a massive gap now between their last official release and the full app rewrite which was or is in beta for very long time already. New user may not want to go for the beta version, even though here it makes sense.
Jellyfin sucks for music. I tried it several times, hoping it got better, but unfortunately it’s not the case. For the moment I’m still using Navidrome (which I used for the last 3-4 years without problems).