this post was submitted on 23 May 2026
123 points (96.9% liked)

Selfhosted

59416 readers
900 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

Assuming the user will not be connecting over vpn, but is both remote and non-technical, how would you expose Jellyfin to them securely?

top 50 comments
sorted by: hot top controversial new old
[–] quips@slrpnk.net 3 points 2 hours ago

A reverse proxy is what you are looking for. I recommend Caddy.

You’ll also need a domain, but they can be had for very cheap.

[–] anon_8675309@lemmy.world 5 points 4 hours ago

Another way:

Expose using caddy. Use basic auth for the web UI only. This exempts the Jellyfin app clients from basic auth that they don’t support but requires it before anyone even gets to the Jellyfin UI. This obfuscates the fact that your endpoint is even a Jellyfin end point.

[–] rumba@lemmy.zip 11 points 8 hours ago (1 children)

Run the jellyfin in a container that only has read privileges to the videos ( make sure you can't get out to your whole NAS from there), put that behind a Cloudflaired tunnel.

It's not technically secure, but if they can't get a foothold in your network and the only thing they can access is your video catalog, that's a reasonable amount of risk.

[–] Bazoogle@lemmy.world 5 points 4 hours ago (1 children)

Gotta be careful with cloudflared and media. They can block you if they detect copyrighted materials, even if it's your own DVDs. You can setup TLS certs so the traffic is at least encrypted

[–] Megumin@lemmy.world 1 points 2 hours ago (1 children)

If your American, ripping your own DVD's still isn't legal.

[–] Bazoogle@lemmy.world 1 points 32 minutes ago

Right. Which is why Cloudflared would block you if it's detected. But regardless, if for whatever reason, you ended up in court for the content you copied, the judge would probably give you a low fine. Obviously not legal advice, but the US justice system doesn't have time to care about people making digital copies of DVDs they've purchased.

It's irrelevant anyway, since none of us are just copying our own DVDs... But for legal reasons /s

[–] zaggynl@feddit.nl 5 points 9 hours ago

Ask them to visit https://ipv4.icanhazip.com/ and give you back the number, then whitelist in your webserver, as well as your LAN/VPN range, deny rest. Explain they can only reach jellyfin from their home internet. Repeat if they get 403 forbidden after they get a new WAN IP.

That or VPN like openziti, wireguard but gets more complicated.

[–] Clutter@sh.itjust.works 3 points 9 hours ago

Perhaps (and I know I might be weird) running pangolin on something like hetzner? (Which I do)

[–] BandDad@lemmy.zip 6 points 12 hours ago (1 children)

If anyone has any tips for getting Tailscale running via Docker on my Openmediavault machine, I'm open to it. Everyone lauds it for being dead simple and I cannot for the life of me get it running on the machine it needs to be. Not sure my wife can/will handle anything more complicated.

[–] kiol@discuss.online 5 points 11 hours ago

Just read their actual documentation. You'll want to either way.

[–] NeryK@sh.itjust.works 5 points 13 hours ago (2 children)

For a remote and non-technical user I would say IP whitelisting offers a decent tradeoff.

On your end you expose your jellyfin port to internet, but restrict at the router level to your user's client IP address as soon as you have it. Obviously in practice this works best if the address does not change often.

[–] MIDItheKID@lemmy.world 1 points 1 hour ago

Is there a way to this with like a MAC address instead of an IP? Allowing specific devices (my parents have a Firestick that they travel with) would be pretty ideal.

[–] Bazoogle@lemmy.world 2 points 4 hours ago

Also not as ideal if their ISP uses CGNAT. Still waaay better than fully open, but you would be giving access to many households

[–] DecentM@lemmy.blahaj.zone 5 points 13 hours ago (2 children)

Not at all, there's legal risk if you're hosting your blurays. Cloudflare even explicitly forbids such use. VPN or nothing imo.

[–] imhungry@leminal.space 3 points 9 hours ago (2 children)

Wow, Cloudflare is against piracy? Every single site I've ever seen in my life is registered with Cloudflare and uses their DNS with the exception of PTB I believe.

[–] Bazoogle@lemmy.world 3 points 4 hours ago* (last edited 4 hours ago) (1 children)

They have to be. They have to at least somewhat comply with laws to avoid lawsuits and fines

[–] imhungry@leminal.space 1 points 4 hours ago

Oh, ok, "they have to be" in the same way my seedbox says not to download copyright material. Got it.

[–] DecentM@lemmy.blahaj.zone 9 points 9 hours ago (1 children)

Not sure about that, I think it's more just that they don't want people streaming terabytes of traffic through their edge.

[–] imhungry@leminal.space 1 points 8 hours ago

Well, I don't know. Cloudflare seems to be the standard, again with that one exception, and the only reason PTB has a different situation is because the founders had a connect.

[–] kiol@discuss.online 2 points 11 hours ago

Legal risk of bluray rips, as opposed to other media types?

[–] kcweller@feddit.nl 4 points 13 hours ago (3 children)

Set up a reverse proxy with https always on. And get a good (physical) firewall, preferably something akin to opnsense, pfsense, openwrt. Exposing is always a risk, and if you do want it, you have to bear the responsibility for your own security. Keep things up to date, set up monitoring and a good logging system (Wazuh) comes to mind.

Exposure means a security risk. How you deal with that security risk is your choice.

Cloudflare and the likes forbid usage of their stuff for these things.

[–] rumba@lemmy.zip 1 points 8 hours ago (1 children)

Cf used to have it against the rules, but it's fine now.

[–] kcweller@feddit.nl 1 points 8 hours ago

Ah cool, didn't know!

[–] syaochan@feddit.it 3 points 12 hours ago (2 children)

How does a reverse proxy helps for security? I mean, the problem here is that exposing Jellyfin on the internet is dangerous: the only way to improve security via a reverse proxy would be mTLS, but I'm not sure how it would work client side.

[–] kcweller@feddit.nl 3 points 8 hours ago

By setting up a reverse proxy you redirect the traffic through that specific proxy which means less open ports (basically just 80/443), less monitoring, the ability to easily put a WAF inbetween, etc.

[–] Flatfire@lemmy.ca 3 points 9 hours ago* (last edited 9 hours ago)

You've got a couple benefits. If you have a domain name, and aren't advertising it publicly, then you can use the reverse proxy to point that domain to a non-standard port that Jellyfin runs on.

Security through obscurity is not good security, but it does prevent the majority of port scanning attacks. You can also use fail2ban on the reverse proxy side to try and mitigate some attacks.

[–] Agent641@lemmy.world 2 points 12 hours ago

Cloudflare and the likes forbid usage of their stuff for these things.

😬

[–] Nibodhika@lemmy.world 10 points 20 hours ago (2 children)

Secure is relative, you should be aware that jellyfin itself has security issues https://github.com/jellyfin/jellyfin/issues/5415 most of which are harmless, but at least one is fairly serious and allows people to watch your media without authentication, and adding an extra layer of authentication on the proxy would likely cause issues with clients.

That being said, if you're okay with those security issues what I would do is have a cheap VPS, connect both machines to tailscale, and have something like Caddy on the VPS to do the forwarding.

[–] FreedomAdvocate@lemmy.net.au 0 points 3 hours ago

Isn’t it hilarious that the best solution to do remote streaming using the free software that people use because they don’t want to pay for a Plex subscription or one-off cost is to pay for at least one subscription, maybe more?

It’s almost like the reason Plex charge money is because it’s not free to do.

[–] exu@feditown.com 30 points 19 hours ago (2 children)

Just leaving this here

Now, let's address this clearly once and for all. What is possible is unauthenticated streaming. Each item in a Jellyfin library has a UUID generated which is based on a checksum of the file path. So, theoretically, if someone knows your exact media paths, they could calculate the item IDs, and then use that ItemID to initiate an unauthenticated stream of the media. As far as we know this has never actually been seen in the wild. This does not affect anything else - all other configuration/management endpoints are behind user authentication. Is this suboptimal? Yes. Is this a massive red-flag security risk that actively exposes your data to the Internet? No.

https://github.com/jellyfin/jellyfin/issues/5415#issuecomment-2825240290

[–] Appoxo@lemmy.dbzer0.com 8 points 16 hours ago

It really seems overblown of an issue...

[–] Nibodhika@lemmy.world 6 points 16 hours ago

Except most people have almost the same structure because of media organizers like radarr/sonarr. At the very least they should hide that behind a setting to not require auth (since the header should be there for most clients) so only people running an old client would be affected. They could also add an extra salt to that hash or something similar.

I agree, it's not critical, but it shouldn't be hand waved either. And like I said, security is relative, I would argue for most people this is fine, but I still think this should be taken more seriously.

[–] slazer2au@lemmy.world 76 points 1 day ago (1 children)

At the very minimum stick a reverse proxy in front like caddy, nginx, or Traefik. Then have some middleware like crowdsec to inspect what's going on. Then whitelist the IP or the country IP block.

There is much more but those would be the bare minimum.

load more comments (1 replies)
load more comments
view more: next ›