This article doesn’t mention the limitations of remote access for Jellyfin, which requires some tricks like reverse proxy or Tailscale. I think Jellyfin is a great option if you only watch/listen on your home network, but if anyone wants to replicate the remote access capabilities of Plex, I typically warn them they are going to have to roll their sleeves up.
You’re right, I missed that.
I personally use a reverse proxy and Wireguard setup to access remotely.
Not something that unfortunately works as easily for me to connect my ailing mom’s TV to, and do NOT want to manage the reverse proxy + cert + etc setup for a number of reasons
There are a ton of reverse proxy options that manage the cert for you
There’s lots of reasons I don’t want to set this up
But Jellyfin! It solves all your problems, you don’t have to pay for it (because fuck paying for software of any type even if it provides you some value), and did I mention Jellyfin‽
Why aren’t you using it yet? Are you a plex sympathizer? Get outta here with that!
What?
I don’t care if you have a good use case for using plex / Emby / Kodi / VLC / WMC / etc; you will assimilate and use Jellyifn!
JELLYFIN!!!11!1!1!1!1!. /s
Jellyfin once located my lost puppy. Which Plex had stolen.
I believe it! Emby probably kicked the dog whole plex stole it.
Damn, Jellyfin can swim through land, too.
This is like the 3rd thread I’ve seen you have a complete meltdown when someone mentions Jellyfin.
Because it’s the app to use! Forget everything else!!! JELLYFIN!!!1!1!1!1!
(That’s what you all sound like)
The point is that you now have another app to manage or learn about just for remote viewing, and the general public can’t and won’t manage something like that. People like us, no problem, its easy, but my dad would never be able to, for example. He can install plex and just log in to an app anywhere to use it though.
Also, dont forget that many households have non-static IP addresses, so now you need more management for that issue (again, easy for us).
In this scenario, your dad just installs Jellyfin and logs in.
You’ve set up the reverse proxy to your server, its transparent to him.
You can update DNS records automatically so its also a fire and forget kind of thing.
But I guess, give your data to the corpos because its easier.
No, im talking about him running his own server. Not connecting to mine.
Yeah it can be more limiting. Personally I got lucky and my mom’s TV runs Android so I could just install a wireguard client.
I will probably at some point bridge her network with mine since I want to install a TrueNAS box at her house for remote backup. So the VPN client will be moot at that point.
Just fucking yeet it online
expected advice from typical JF users.
What’s the worst that can happen. Someone watches your movies
Someone breakes in, then moves laterally to your home assistant running frigate to watch you sleep at night. Then uses your residential uplink as a proxy to resell on an open market.
After that, the possibilities are practically endless.
It’s a rootless container. Chances are they are not going to do any of that.
Things are on the internet all the time.
Yeah docker isn’t the isolation sandbox some people make it out to be. It’s not meant for that. You very well may have a setup that’s meant for that but it’s more than I’m willing to expose.
Yup! That’s the worst thing that can happen. Now would you be so be kind as to send us the link to your private unsecured Jellyfin server?
I’m tempted to. But I’m not. Just because I dont want to fox my domain here.
Is running in a rootless podman container. I’m confident

How does Plex get around that? I’ve only ever used jellyfin.
Tailscale truly could not be easier/simpler.
Not for all clients, like Roku for example.
Yes the solution is different hardware, like a Google TV, older firestick, raspAP, or flash openwrt on a router. But that’s no longer plug and play and may have other caveats. Besides costing money.
No shade, it’s just not QUITE that simple every time.
If you can spin up a podman container, you can use a caddyfile. Hell, if you can nano and read, you can set uo a caddyfile.
That’s why I’m running both. I use jellyfin, everyone else uses Plex 🤣
A reverse proxy is a trick? That’s like standard practice for web servers.
But Jellyfin! It solves all your problems, you don’t have to pay for it (because fuck paying for software of any type even if it provides you some value), and did I mention Jellyfin‽
Why aren’t you using it yet? Are you a plex sympathizer? Get outta here with that!
What?
I don’t care if you have a good use case for using plex / Emby / Kodi / VLC / WMC / etc; you will assimilate and use Jellyifn!
JELLYFIN!!!11!1!1!1!1!. /s
I got the Plex lifetime pass like 10 years ago, but just switched to Jellyfin over the weekend. It felt like every week Plex was asking me to re-pick my home page list and just insisted on re-adding their live streaming junk. Got tired of it. Reverse proxy is not hard to set up, and while there’s some encoding kinks to work out, it’s not like Plex was immune to those problems either.
The best part is that, if you’re on the fence, you can just run both. That’s what I did at first, but I’ve since let plex die.
I agree that the rest of plex is undergoing enshittification. But the core features are kinda the same? I use it outside my home a LOT, so I don’t know how jellyfin would work for that. I know Cloudflare tunnel has a bad relationship with streaming video. Does Tailscale too? How do you access jelly outside your home?
I tailscale in to my jellyfin. No probs.
Same here. The Tailscale app also easily passes the wife test which WG unfortunately does not.
I have a dedicated VPS with reverse proxy connected to my network via Wireguard. It acts as the front door to my network so I don’t have to port forward or rely on Cloudflare etc. I used to use Tailscale as the go between but switched to WG recently. Both work fine for streaming content whilst self-hosting all other services including my website.
So you have wireguard connecting to the VPS and a port open on the VPS for the jellyfin client to connect to?
Dedicated PC on LAN talks directly to VPS via Wireguard. The local machine acts as an exit node so when I add a local IP and port to my reverse proxy the whole thing acts like a local network.
I wrote about my setup last month; https://the.unknown-universe.co.uk/home-lab/wireguard-vpn-two-vps/
Cloudflare tunnel has a bad relationship with streaming video
From their standpoint I can understand why, tho if you had just one user you might be able to get away with it. When you have 10 users streaming large files at a sustained rate, that eats up some bandwidth. However, I stream audio from Navidrome daily and I’ve had no issues. I am the only user of my network.
My router (GLI.net Flint 3) makes it really easy to set up Wireguard servers on it, and from there all I needed to do was get a domain name to use. Set up Wireguard on my phone, and I can access my local network remotely without needing to pay for a VPN subscription. I still use Mullvad, but that’s for privacy not remote access.
If it’s just you using it setting up VPN is an easy solution. I just use wireguard. If you have a pic you can run pivpn which is just wireguard.
I access it via NPM the same as I access most of the rest of my services. As far as I’ve been able to tell, unauthenticated viewing can happen on Jellyfin, but the person trying to access it will need to know the path that Jellyfin uses to access the media. If you already know my internal file paths, you can watch it from my server I suppose.
I quit using Plex for my own enjoyment a year or two ago when my work decided to block Plex.tv, I can still reach my personal server as it’s accessible to the internet, but I cannot login as that requires being able to access Plex’s authentication servers. At least with Jellyfin I can use my own Authentik instance for auth.
What’s NPM in this case?
Nginx Proxy Manager, really any reverse proxy would be fine, but I’m partial to Nginx.
Ah! Yes, I’m partial to nginx too. Lovely stuff 🙂
Most of the plex enshitification can also just be turned off in the settings. I’ve got all the ad stuff and suggestions off and its just the core plex experience left.
Side question here: how big is your storage pool for those of you that runs a jellyfin server?
I just started a Jellyfin server, but with the current hdd prices, it fills up fast and I need to manage my library a lot more than I’d like
I have a 5 TB NAS (technically 4x2 TB of SSDs in RAID5, plus float space for backups of my servers), but it’s shared for music, video, books and audiobooks, and retro game ROMs, plus other necessities (personal documents and such). Those disks were $600 at the time total, $150 each in 2024. Now would cost $2k ($500 each), it’s insane.
I mostly enjoy older stuff, and don’t bother with 4k. I let the TV upscale it, don’t really care. Looks like I’ve got about 1.5 TB worth of video (movies, TV, and anime) at the moment, plus another 1.4 TB of music.
If I need to, I can add some additional storage via dual NVMe slots on the NAS, but I don’t think it’s currently worth it at today’s prices. I still have a bit over 1 TB free, will keep it that way likely.
40TB, but that’s way more than I would realistically need if I was better about deleting old content. I have shows saved that I haven’t watched in years. With the *arr stack, there is very little reason to keep a lot of media saved, because reacquiring it again in the future is dead simple.
40TB is wild.
My plan is to pile a bit of money and try to buy used lots of HDD and test them for health and create a JBOD storage.
I have about 35TB. The movies are the hardest for me as it’s nice to have lots of options without having to download. With a show, it’s easier to make a decision to grab a season. Movies choices are more spontaneous
Do docker files handle all the setup of these or do I have to learn stuff?
You’ll need to do some config on the actual services as well. Mostly in regards to telling it how you want to add things to your wanted list, how it should search for files, how you want it to download files, how it should handle downloaded files to be compatible with your media server, etc… Docker-compose can do a lot, but the *arr services are too granular to define everything directly in the compose file. You’ll need to actually configure the services after they are booted up via docker.
My stack includes the following:
Prowlarr for tracker management. This defines the various search methods, and makes them available for the rest of the stack.
Seerr for media requests. This manages what shows/movies are on the stack’s search list.
Sonarr for TV shows. Seerr tells it what to search for. It takes the relevant trackers from Prowlarr, and uses them to search for wanted media. It grabs media from the search based on quality profiles. For instance, my profiles are set to exclude 3D media, because none of my screens can display 3D. This is synced with my torrent client for automated downloads. When a download is completed, it automatically creates a hardlink in the relevant media folder for my media server to find. It uses the specific naming scheme for the media program, so the program can automatically detect info about the files.
Radarr for movies. Same basic concept as Sonarr.
Cleanuparr for download management (and some basic malware protection). Tracks downloads’ ratios, and automatically removes them from my torrent list when the ratio/time threshold is met. It also tracks “slow” torrents and will automatically retry them if a torrent is stalled/slow for too long. Also does some basic “movie.mp4.exe” torrent checking, to automatically block malicious downloads that get grabbed by the rest of the stack.
Bazarr for subtitle downloads. Automatically analyzes my media, and finds matching subtitle files for my media server to use.Each of these will require specific config steps. For instance, Prowlarr will need to know which torrent/usenet trackers you want to use. Sonarr will need to know how to interface with your download client, which files to grab based on quality profiles, and how to rename files during import.
Thanks for this, this arr stack and HA are my first steps into this world.
I have only ever torrented directly off sites, I want to set this up it seems like an unbelieveable time save.
How do I go about getting trackers or usenets?
I just setup the ARR stack and you can use a docker compose file to manage all the services. Then you need to create individual account for the services but that is straight forward.
4x18TB in RAID5. I went with 18s because it was the best value for $/TB when I bought them, which was just before prices spiked. That gives me almost exactly 50TB of usable space after formatted capacity and space lost to RAID. If I bought drives today for the same price as what I paid earlier this year, that 50TB shrinks to 35TB. I’ve only got DVD and Blu Ray rips on it; Jellyfin counts 120 movies (105 of which are Blu Ray, 15 DVD) and 1166 episodes of TV (10 series on Blu Ray, but number of episodes per show varies wildly). This is the full fat rips with MakeMKV, all special features, no video compression via Handbrake or anything; almost exactly 11TB used. So I’ve got a lot of room for expansion, and I plan on also using this NAS for other things that will probably be a rounding error compared to my Jellyfin library.
6 x 4 TB HDDs, got them used for $40 each
How many hours when you got them?
The one I find have a high number of hours
They see to each be somewhere between 20k to 60k hours of time on hours
a random collection of NVMEs, SSDs and HDDs in my desktop PC, totallying about 12TB-ish I think. That’s for TV and films, I keep my music in navidrome since Jellyfin has (used to have?) serious issues streaming music, in particular only ever being able to play the first track of an album, no matter what the client.
3 x 16Tb Seagate disks. One is for parity. So around 29Tb of space. Got them used about 2 years ago.
When you got them, how many hours were they at?
The HDD I see around me have 60k hours ++ so I am a bit frisky considering what they ask for
I think around 20.000 hours or about 2+ years.
Despite all of this, I haven’t completely abandoned Plex.
Plexamp remains one of the best self-hosted music applications I’ve ever used.
Lyrion, Music Assistant, and Navidrome are all solid options. And Jellyfin also supports music hosting, along with FinAmp, which has similar functionality to PlexAmp (maybe not as good, but download functionality works).
Personally, I abandoned PlexAmp. Wasn’t worth keeping with the rest and it has been downhill since the loss of Tidal integration. Navidrome clients work great, have solid radio and discovery features for large collections, and support local downloading for on the go.
And for local listening, I’d argue that Lyrion with Blissmix or LastFM “Don’t Stop the Music” plugins are as good and sometimes better than PlexAmp. And Navidrome and/or Music Assistant with AudioMuse-AI plugin utterly destroys PlexAmp’s radio/DJ functionality. Install AudioMuse, scan your library and go, it just works. Especially with recent builds having native Linux, Mac, and Windows now (I deployed with Docker compose before these options were available).
If anyone goes with finamp, sign up for the test version as it’s UI is significantly better than stable.
The UI is objectively better but it still looks like a 10 year old material UI student project. I’ve been keeping an eye on it but it might not be worth giving up the stability for
mpd server. Although mainly, so I can use the beautifully named ncmpdcpp client
FinAmp and its beta rewrite don’t really come close to PlexAmp in terms of functionally or polish, but if anyone switched from Plex to Jellyfin and wants a nice aesthetic music player app Discrete has done the job for me. It’s essentially an Apple Music clone so it looks nice and navigates well.
TBH I don’t recommend FinAmp, but it’s an option if you only want to deal with Jellyfin and not run multiple servers.
Lyrion (LMS) and Navidrome server/clients though, absolutely. They’re great.
Does Volumio suit your needs? I haven’t used Plex audio to compare
Not for me, but I could see the appeal for some.
I have Wiim Pro and Wiim Pro Pluses in every room in my house that I’d stream to, and send via Squeezelite or DLNA (with Chromecast and AirPlay as available, but IMO inferior options). Plus virtual squeezelite software allows for local PC play the same way if needed (wife uses this on her Mac Mini, I don’t generally play music on my PC, just direct via the Wiim to my amp).
I predominantly use Lyrion, but my wife convinced me to try Music Assistant and it’s growing on me. MA has a lot of options for sending the audio, as well as various DSP, normalization, and crossfade functionality.
I’m not sure about those devices, but with a paid account it unlocks speaker grouping and casting to various devices or rooms, or play here on current device function. I don’t have their device, just a raspberry pi with the OS.
I do this with my Wiims already, no account needed. They support speaker linking and whole home playback, or just linking individual devices.
Nice.
I’ve been considering audiomuse, but I have old equipment available.
My options are my media server, which is an old Xeon E3-1275v3 with 32G of RAM, which also hosts Navidrome, my arr stack and the associated downloaders, or my Home Assistant and Jellyfin box, which is a Lenovo M700 Tiny which is an i5 6600T but has only 8G of ram.
Or, an 8G Pi5 with an SSD (using the pi SSD hat)
I’m not sure either of those 3 options would handle audiomuse AI all that well…
The Xeon server would be a good bet. Your other machine would be potentially bottleneck for memory (though it meets min spec if the server isn’t doing anything else). There’s a NOAVX docker deployment available, would be slower but should work fine. Just be sure to disable anything associated with lyric detection, it’s an absolute performance nightmare.
I ran it on a Ryzen 5500u mini-PC with 32 GB RAM with the standard deployment with AVX2 support and scaled up to three worker threads. For a collection of 53k tracks it was processing about 100 per hour that way with lyrics/whisper translation enabled, but once I turned that off it was doing 1300-1400 tracks per hour.
——
Edit - the 6600T would work too. I found with lyrics disabled, each worker only used between 500MB and 2 GB of RAM. Long as the server isn’t under load while scanning I think that would work, and would be faster for having AVX2 support.
That’s cool to know, however the Xeon runs FreeBSD, so I would need to create a VM if it doesn’t work in Linuxulator, (FreeBSD’s Linux compatibility layer, works sorta like wine does)
I have 120k tracks. I like music.
I should do some research this weekend I reckon.
Great, now I have one more thing I gotta do this weekend. Thanks a lot. Lmao.
I personally really like FinAmp. I use it every single day during my commute and work, it works incredibly well with FLAC files.
I used it for a bit, but after getting Navidrome up and running, Arpeggi replaced it as my download “away from home” client, and at home I use Lyrion or Music Assistant via Squeezelite since I have Wiims in every room of the house.
Lol ‘i didnt rage quit and post about it’
‘I rage quit amd wrote a blog about it’
I am hoping that jellyfin gets better over the next few years. I keep trying it and it keeps feeling broken to me. Lots of people have the same experience it seems but then there’s also always a few people that act like I’m crazy. Nah, it’s still not there, unless things have changed a lot in the past year.
If you mean limitations in the client, I discovered that there’s a Jellyfin for Kodi plugin.
Kodi has had decades of development. It’s super customizable, has every feature you can think of, direct plays every video format, and is fast.
Having it act as a Jellyfin client has been amazing and given me the best of both worlds.
Not OP, but I have similar feelings and they have nothing to do with the client or plugins. If I can’t easily and securely share my Jellyfin with the Internet beyond my LAN without resorting to a VPN, then Jellyfish is not going to come close to replacing Plex. Sharing my library securely with tech illiterate family and any browser I have access to, without modification, was the one and only reason I moved away from XBMC/Kodi and installed Plex in the first place. Jellyfin is fine inside my LAN and for my personal use, totally fails at hosting.
Where does this myth come from that Plex is secure to share over the open internet?
Nice. I’ll try that
I use a 3rd party client called Wholphin and it works great.
Also it helps to set up profiles in sonarr/radarr to make sure you’re getting media thats compatible with the devices that will interact with Jellyfin, and filter out formats that cause problems. I use Profilarr to load in community made quality profiles to sonarr/radarr and then i copy them and tweak them for myself.
Before i started doing this i had loads of problems with Jellyfin not being able to play stuff, and now everything runs perfectly.
The biggest discovery I made that was causing a lot of my problems was HDR formats. HDR10+ only really works on Samsung TVs for example. I dont have a Samsung TV, so anything I had that would try to play that content would come out a weird green/purple colour. Content with Dolby Vision Profile 5 would flat out not play on devices that don’t support Dolby Vision. Dolby Vision Profile 7 falls back to regular HDR10 when the device doesnt accept DV, so that works, but DV Profile 5 doesnt do that.
I was able to filter out HDR10+ and DV Profile 5 using quality profiles and all my playback issues disappeared immediately.
I appreciate these tips. I’m gonna save this comment for the next time I circle back to Jellyfin.
To think that right about a year ago I was jumping into the deep hole of selfhosting and was thinking to get Plex perpetual license. Happy I didn’t.
I started with jellyfin a month ago and I miss nothing. Total newbie, used free chatgpt to set everything up. I can access from anywhere.
The only thing I haven’t done is to get the app to the Hisense tv so I use through a browser. Just didn’t have time yet, not sure how that works.
I was using Synology’s video server software. They had an app for android and IOS. Then Synology killed it and the only options were plex or Jellyfin. I bought into Synology because of their remote connection options. When I tried Plex they were making me pay per connected device. No way! Jellyfin became my only option at that point.
There’s also Emby. And some other options.
You dont have to pay Plex per connected device, but you do have to pay something somewhere for remote streaming.
Funny timing, I’ve been playing with Jellyfin lately too and I ended up forking a little project to bridge Plex into Jellyfin: https://github.com/ndieschburg/xtream-to-strm-web
It syncs your Plex.tv libraries (even shared servers you don’t own) into .strm and .nfo files, so Jellyfin just picks them up as a normal library and you can watch everything from any Jellyfin client. There’s a built-in proxy that hides the Plex tokens from the STRM files, and for clients that don’t follow HTTP redirects (like Findroid) there’s an HLS proxy mode so it still plays fine.
Still a bit rough but it does the job if you want to keep a single Jellyfin frontend and still reach the stuff that only lives on Plex.
deleted by creator
It took a bit of work but my Kodi setup is very very kickass: movies/tv, iptv, youtube (no ads), music (various services plus local collection), video games… There are some glitches but generally I love it.
Presently “continue watching” is gone for me in android. I can’t seem to avoid all these stupid “recommendations”, and lately I find I’ve been using jellyfin more and more. I have run them in tandem for years.
hmm I wonder if it’s because of the recent subscription hike … hmmmm
intense HMMMM










