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.
Bit off topic, but I noticed this post has quite more comments than on reddit (currently 59 to 38) and more votes as well. /r/selfhosted is quite crowded usually, kinda impressive there’s more discussion happening here.
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.
I already use Navidrome, but I discovered Explo through your post, so thanks! It seems to work well in that it brings in the tracks that it should, but I don’t think I can keep using it because it pollutes my ‘Recently Added’ list in Navidrome with 50 new albums, each with a single track. If I could somehow prevent that, I think I’d keep using it. I tried using an
.ndignore
file but that didn’t work - it stops them showing up in Recents, but also prevents the tracks from working in the playlist that Explo generates.Yup, been porting all my music to navidrome the past few months and it’s pretty sweet. I like that there are native subsonic apps for most platforms (using tempo on android at the moment) and that navidrome also comes with its own web player to use on the fly.
Although my setup is much more simple, just using samba to get files to it and mp3tag to prepare the files if needed.
I initially used nextcloud with its music plugin (includes subsonic server) and its basically remote access + player + server in one, but its not as good imo. I’d rather use software that focuses on one thing and does it well.This is a nice resource. For someone like me this would be a big project. I’m curious, it sounds like a lot of moving parts. Assuming it was running ok and I didn’t really touch it for two years, five years; what is the likelihood it would still be working?
Didnt touch Jellyfin for ~2 years (except tweaking hardware acceleration) besides updating it.
Worked fine for me.
At worst you will get security problems from unpatched bugs or loose compatibility from external services, e.g. the musicbrainz API connection in lidarr.Interested as well. I want to get into this as I just cancelled my Spotify subscription but I’m a bit overwhelmed by the process
Love my Navidrome server, though I use Substreamer on Android since it’s “free” and free.
I know the self hosted communities are very pro open source, with which I largely agree, but PlexAmp is such a good player it makes sense to at least try it.
Annoyance: Can’t scan your music library from the PlexAmp app, can’t scan it from the Plex app either. Super frustrating when music as added and you have to struggle with pop-up navigation on the Plex desktop site on mobile.
Game breaker: maybe it’s just really hard to find and undocumented, but there doesn’t seem to be a way to use profiles with PlexAmp, either to have individual play history and playlists, or to age restrict some music content.
Dunno about plexamp, but Plex has an auto-scan built in. Its disabled by default, but works like a charm. It listens for new file events and general finds things before you complete a download or copy
I had issues with auto scan years ago, just re-enabled it and it’s working fine now so that’s resolved, thanks.
The other issue is still a problem, and why I’ll be switching to Navidrome for music. Jellyfin wasn’t mature enough last time I tried to replace my lifetime Plex pass, but I have a feeling I’ll be ditching Plex entirely soon.
In PlexAmp, on the bottom right, tap the gear. Tap account. Tap “switch user”.
Now switch users.
You hosting your plex service for other users outside of your home? I’m finding the ease of access for other users / the wife is the largest driving point for me to continue using plex.
I could configure a VPN and attach my jellyfin server to that network however that’s a large hurdle for some of the general population users I have on my plex currently.
For something on-topic the wife and I agreed that she should move to the student sub as she’s studying and kick me off Spotify entirely. I’ve got until the EOM to get plexamp / something else self hosted. Interested to see what comes from this post as it’s pretty relevant for me right now.
Admittedly I could Bluetooth to my head unit in my car and stream Grayjay music to it, but that’s just leaning on an unfree service.
I love the idea of Jellyfin, but since I host for my extended family, and it has to be wife approved (re: easy) plex is the answer. If you already have a plex pass it’s annoying brainer. If you don’t, weigh the pros and cons because there are cons.
Spool up an instance of Plex, and install PlexAmp. Put a handful of your favorite albums on it, see if you like the features and the interface.
Yer I host Plex for 10+ folks and it’s an easy send. Really wish I could pipe it through CloudFlare but not willing to risk it currently.
I’ll give plexamp a go, man my tastes are all over the shop so it will be an album dump (that I should have done years ago) spinning up some old cds and the external dvd drive 😂
The other “issue” isn’t an issue at all. Plex handles all that stuff just fine and super easily.
There definitely can be profiles. You can either create fully new users (with their own logins, etc) or home users. Assign them restrictions as necessary. Of course this is all done in the plex web app, but user switching is done easily in PlexAmp.
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
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
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.
Might be worse than Spotify when it comes to privacy but YT Music with Adblock is great. And AFAIK they have better music quality.
jsdelivr, eww
What’s wrong with jsdelivr?
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.
What?
Just have your files properly tagged by picard/lidarr.
Improper tags = Weird behaviour you caused.Using Finamp and Symfonium on my phone.
thanks, I’ve been diligently tagging for a couple weeks now! working splendidly in feishin/tempo fork!
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.
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.
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)
Anyone have suggestions for an iOS media player I can connect to a setup like this?
i like use amperfy on ios and i think it’s nice. for jellyfin i tried finamp, but i disliked music streaming via jellyfin in the end (mainly because making playlists was a hassle)
amperfy takes me back to the old days when i used itunes and an ipod touch interface wise
I like Amperfy and I think Navidrome has a Subsonic API: https://github.com/BLeeEZ/amperfy
For Jellyfin I really like Manet and Finamp
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.
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.
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
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 🏴☠️