I have to thank Plex for changing their cost model. It motivated me to setup Jellyfin, something that took slightly more effort than Plex. And by getting that inertia going, I then followed up with Navidrome, a local OSM service with routing, and finally my own mediawiki copy that has a starting point from the pre-AI days as well as an annual content refresh so my "compare" history is short and simple on all articles.
That inspired me to build a homelab finally, which then became a NAS, which then became an OCIS server to replace my commercial cloud storage.
I finally got proxmox setup, OPNsense, with Caddy for reverse proxying the externally facing services and tailscale for access to those services I want to keep only for me and not others in my family.
So yeah, all of this big massive avalanche of work started with the little tiny snowball of Plex deciding they wanted to charge me to use my own media while away from my house.
Thanks Plex!
And thanks Jellyfin for being a fantastic alternative for video.
I sort of went the opposite way. I had a giant homelab already and paid for Plex lifetime (just because I thought it was good software after years of use, not because I really needed the features or anything) but then I ended up consolidating all of my media to just being a bare metal Linux standard PC case running a plain NFS share (I guess that's still a NAS, but perhaps more spartan than the usual connotation) which clients like Infuse or a local media player app can just load directly.
I used a SMB share with Infuse for awhile and it worked well, but adding Jellyfin in the middle made it much easier for the kids/wife to understand how to find things.
(For awhile I was VLC off a ram SMB share but that was confusing even to me sometimes.)
Interesting, I'm curious how it helps. Maybe with non-video content or something? So far Infuse seems to do everything for shows/movies with the sorting, categorizing, posters, descriptions, actor info, search, release dates, etc already so long as you point it to where the video files are and name them based on the TVDB naming. I even set it up so my parents TV has access to it and they use it more than Netflix now. I don't have any non-video content though, so I'm not sure whether Infuse covers that part well (or at all).
Ah, that makes sense. I only have just the media files (no metadata) stored flat in a single SSD based mount and the background autoscan seems to pick up changes/additions consistently for that snappy (especially since I only add new content but once a week or so) but if I were constantly adding things I wanted to watch on demand, used a more complicated directory structure, stored any metadata locally, had a bit more latency in the storage, or had multiple sources I'm sure that would turn into a bit of a sync mess real quick.
I also found Infuse's scanning performance to be absolute dog shit over even clean 5 GHz Wi-Fi. I solved that with a wire, but it sounds like middleware would have skipped that problem as well.
I would also like to thank Jellyfin and the other software packages in its orbit for motivating me to keep my homelab in good running order. That and Home Assistant.
When compared to the current breed of streaming services it really shows the difference between something designed to drive up engagement and revenue while driving down cost vs something designed to actually be useful and pleasant.
Also I hadn't heard of OCIS, but it looks like something I want. So thanks for that.
I had a rough time with Jellyfin like 6-7 years ago, with media not populating/playing properly, and metadata being lost on upgrade, etc.
Tried again a few months ago and couldn't be happier. The whole thing is very stable and reliable. I think my only annoyance is that the HW I have it running on isn't beefy enough for transcoding, and my LG C4 can't play some of the 4K codecs natively (particularly around DV). Obviously this isn't Jellyfin's fault, but this kind of thing is just one more item for the list of stuff to have randomly be a surprise when setting up this kind of thing.
Transcoding generally isnt about raw power and is really just a function of having hardware transcoding support. Minipcs with 'recentish' intel chips handle it with ease for a couple hundred dollars all in (pre-DRAM price increases at least)
Yeah, it's on me for reusing an industrial Mini-ITX motherboard I had leftover. The i5-4570 / 16 GB DDR3 is no slouch and is perfectly adequate for everything else this machine needs to do (download torrents, serve media, handle some backups, run a few minecraft servers), but I'm a generation or two too early for the right transcoding support, and I can't even patch over it with the PCIe slot as I'm using that to give this machine dual NVMe drives.
Given the state of RAM pricing, it's probably cheaper at this point to just buy an Apple TV or the like to put on the TV end. Eventually the NAS can go to an AM4 build when I upgrade my workstation to AM5 and the CPU and RAM from that are freed up.
Which app are you using on your TV? I've had success direct-playing 4K content with the jellyfin Android TV app. On AppleTV, Infuse works well. Infuse isn't free, but it is worth the money to me.
Wanted to put in a plug for Swiftfin, which plays the formats Infuse wanted to charge me money for, but is free and seems to work well. I use it on the AppleTV mainly.
This is using the native Jellyfin app available for LG's tvOS, so you're at the mercy of the codecs available on the TV. Last time I wanted to watch a movie affected by this, I just plugged in a laptop with an HDMI cable and played it that way.
What does Navidrome add over streaming music via Jellyfin, is it just better more tailored client apps? The music client apps for JF are a bit bare bones, although the streaming itself I've found to work perfectly.
The Subsonic API is pretty fantastic and the apps that support it are full-featured. The Jellyfin app, while completely capable of streaming music, is far far less feature-ful.
Personally I use Gonic rather than Navidrome, because I don't care about a web UI, but if you go to the Navidrome website and look at the "Apps" page it lists every Subsonic API compatible app. There's a lot.
None of the alternatives seem
To have anything close to the radio/recommendation power of Spotify. I don’t know how they ever could - they don’t have the massive data Spotify has in listening history combined with playlists and their descriptions… on top of building world class ML audio analysis models.
I’d love have my own local mp3s get this super power. I just don’t see it happening. Plex has their own attempt but it’s no where close.
Seems redundant to get recommendations from your own mp3s. And "radio" would just be playlists on shuffle.
You can decouple discovery from offline music experience. Outside certain genres that I'm not deep into, there's almost nothing I get rec'd on Spotify that I didn't already know of from other sources.
I agree, I don’t need recommendations from my own library. I know when I am in the mood for a particular album, and if not, it’s much more pleasant to glance through my Artists list than to trust some jerk at Spotify to tell me what I want. Especially since they are now actively trying to replace the music on their mood playlists with royalty-free stock Muzak.
For discovery, there are plenty of (especially linear) streaming music sources that are dirt cheap or free, anyway.
To be honest, it may be my music taste, but the recommendations I get are extremely boring and are just rehashes of my liked songs..
But it may be that I hit a bug quite some times ago where each offline downloaded song got added to the liked songs playlist and even though I manually removed quite a few of those, it may have corrupted my user profile.
I also use gonic over navidrome (and formerly airsonic) because Navidrome doesn't support folder view (and apparently never will). As nice as Navidrome is, that's a dealbreaker for me. Gonic works great though.
I too prefer folder view (tags are a complete unwieldy mess, and there's far too many artists to merely list by artist). I will look into this. What do you run it on?
The streaming works well, but I like the focus on audio and performance of Navidrome. I've cycled from Plex/Plexamp to Jellyfin and am happiest with Navidrome.
I've written a client for Navidrome however, so I'm biased by the investment in time that required.
I've also spent time working with several of its private APIs to track my own listening activity.
Can Jellyfin (or Emby, for that matter) get the interface half as slick as Plex? I keep checking every few months, and it leaves me underwhelmed. I've got the lifetime license from Plex so I'm less motivated maybe... but even ignoring that, there's the issue of badgering 20 or 30 other people to switch clients. It'd literally take me years to plan out such a project and I'm hoping someone can talk me into it.
I haven't logged into Plex in a while but did decide that the next time I need it will just setup Jellyfin instead. Nice to see they support all my devices iOS AndroidTV FireTV
Ehhh, it’s a backup if, you know, the internet dies right when I need some routing. Seems to only be once every year or two. It’s not a good primary tool though.
There are a few approaches to tile generation, and the routing engine I used offers 2 alternate routes.
Claude Code whipped up a new front end for me that switches between various tile sets and provides a turn by turn instruction overlay.
Eh, I was happy to pay Plex a one time fee of ~$120 for a lifetime license. I'd rather just set up Plex in a docker container and expose that port than deal with a bunch of services constantly needing doctoring in my homelab.
I've run both and Jellyfin is actually easier to run IMO, since it is in package managers. Also has free android/iphone app. What do you think you have to do in Jellyfin you don't in Plex?
I send them an email that contains a link to jellyfin.mydomain.tld with their new username and password, plus a few tips for how to get the most out of it (I wrote a template a few years ago).
It's not any more work for me than giving a user library access on Plex, but it does require I have a reverse proxy and a domain.
Sure. I think this was originally written by GPT-3.5 but I've tweaked it a lot since then. I try to keep it short enough that people will actually read it all the way through while still answering some of the more common questions.
Subject: Welcome to <my real name>'s Jellyfin Media Server
Hi there,
Welcome aboard! You now have access to my media server and can enjoy my library of Movies and TV Shows.
Here are your login details:
Link: https://{JELLYFIN_DOMAIN} (bookmark this!)
Username: {USERNAME}
Temporary Password: {PASSWORD}
Please update your password as soon as you log in for your security:
Log in with the information above. Click your profile icon (top-right corner, looks like a person). Choose "Profile" (same icon again). Enter the current password and your new chosen password, then click Save.
Tips:
Jellyfin works like any other streaming platform, you can browse, watch, and favorite. It always keeps your place and remembers what you were watching so it's easy to come back to.
Jellyfin can be used in a web browser, or you can find apps for phones, tablets, and some TVs.
Browse the full list of movies or shows available by clicking the boxes under "My Media" on the home page.
You can request new media by visiting {REQUEST_DOMAIN} and logging in with your same Jellyfin username and password. Please only request things you are sure you will watch in the next month or two.
Jellyfin and Ombi are software packages that I run on my own computer, but I did not build them.
Please reply to this email if you have any issues.
Enjoy!
I tried to use search the other night, for a movie I know I have. It listed 30-some entries, all for their "Plex content" bullshit. I can't find a setting that turns that off. I have no interest in them trying to become a half-assed Netflix.
I too have the lifetime pass. A group of us collectively manages >1PB of content via Plex. But we need an offramp to derisk enshittification, and Jellyfin is that readiness capability. If you have no option to switch to when the time comes, you are SOL. Even if I did not use Jellyfin today (I do for a music catalog, but it is not primary), I am willing to provide them recurring donations to make sure they are ready when I need them.
(ymmv, I work in risk management, a component of which is vendor risk management, so the professional mental model gets applied to home systems when applicable; rug pull? not on my watch, and the rug pull will happen eventually)
With a fiber connection, 5-20 terabytes/month is nothing. I could probably ramp it up, but I'm only looking for 1080p content. The only thing that keeps me sub-petabyte is that my budget doesn't allow for a NAS with enough bays (and 20tb disks going up to $500ish here lately surely hasn't helped).
Really, just start downloading every new release and you wouldn't even have to dip into the back catalog much.
I understand your reluctance, I was not very optimistic when I started installing Jellyfin.
Turns out it is pretty straightforward and I never had to deal with the hassle of maintenance. The two non-mandatory configuration steps I had to make were:
- the file permission to share Jellyfin's library with my torrent daemon.
But IIRC this is the same with Plex.
- the nginx reverse-proxy with WebSocket for the "watch together like" feature to work
I was happy to buy a lifetime pass many years ago, but as they've removed many of the features I cared about (offline auth, plugins, photo backup, watch together, etc.) I have come to realize that I directly funded enshittification. I wish I could've bought a lifetime pass to the version of the software at that time instead of a lifetime of downgrades.
Jellyfin is also a single docker container, by the way. That would've been an easy thing to verify before making this comment.
it's not a single container if I want to be able to have friends/family access it. That would have been an easy thing to think about before making this comment.
You have to set up port forwarding either way. If you haven't yet, go do that now (ask chatgpt to help), it will dramatically improve your Plex remote streaming. Check settings -> remote access and it'll show green.
Most of that stuff isn't necessary just to replace Plex, the OP's saying them Jellyfin started them on a journey they're presumably enjoying, not that they needed everything there to replace it.
I think you're right the bar is still too high for most folks, although I will note that I think it's dramatically lower than it used to be. A lot of the tools are all-around way easier to deal with, tailscale makes a lot of "personal cloud" use-cases much more feasible, and then coding agents (I'm using claude code) dramatically reduce the labor costs of getting this stuff all working and fixing it when something goes wrong.
Yep you nailed it. That’s all I was saying. None of those things were critical to Jellyfin working.
But I will say for the size of my music library, Jellyfin was not quite as good as plex and was the impetus behind my switch to navidrome for audio.
And navidrome isn’t the best for audiobooks so I’m in the process of testing good audiobook hosting platforms.
So the reply wasn’t wrong either. Plex is just easier for a lot of folks, and that is why I don’t have any ill will towards their changes. They just aren’t for me.
The only two of those you actually need to have a Plex-like setup are Jellyfin and Tailscale, both are trivial to setup and will run on basically any hardware you can imagine wanting to use for this.
It is hard to beat the polish that Plex has. I setup Jellyfin to try it out and I couldn't find a client that was smooth or had the polish of the Plex apps. The AppleTV app was close but then I go down the rabbit hole of codec support. Wanted to like Jellyfin but without a nice looking front end it was a non-starter for me. Good news is you can have the side by side and if a time comes it gets parity with Plex I will be happy to change over.
When I looked for a Plex alternative I settled on Emby. It still has some "premium" features but they're all just QOL, not necessary things. The base app is great and even has handy little features Plex doesn't, and so far, it runs on all the same devices with a much snappier UX on the client side.
Yes, my biggest current gripe is that infuse is a much better client than the first-party app. Otherwise, I'm very happy with it even if it lacks some polish of Plex.
Yeah thats exactly why Im on it. The frontend is fine, maybe a wash compared to Swiftfin last time I tried it out. But for my library, I had frequent issues with codec support on native client vs 0 times on Infuse.
That inspired me to build a homelab finally, which then became a NAS, which then became an OCIS server to replace my commercial cloud storage.
I finally got proxmox setup, OPNsense, with Caddy for reverse proxying the externally facing services and tailscale for access to those services I want to keep only for me and not others in my family.
So yeah, all of this big massive avalanche of work started with the little tiny snowball of Plex deciding they wanted to charge me to use my own media while away from my house.
Thanks Plex!
And thanks Jellyfin for being a fantastic alternative for video.