this post was submitted on 26 Jun 2025
419 points (98.2% liked)

Selfhosted

48689 readers
2153 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.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

What’s your go too (secure) method for casting over the internet with a Jellyfin server.

I’m wondering what to use and I’m pretty beginner at this

top 50 comments
sorted by: hot top controversial new old
[–] Netrunner@programming.dev 4 points 4 hours ago

Sad that mTLS support is non existent because it solves this problem.

[–] burgerchurgarr@lemmus.org 28 points 11 hours ago (3 children)

I just expose my local machine to the internet, unsecured

[–] Mongostein@lemmy.ca 0 points 33 minutes ago* (last edited 33 minutes ago)

Yea same I don’t even care.

It’s an old laptop, I have a backup. Go ahead, fuck it up.

[–] donalonzo@lemmy.world 3 points 3 hours ago

This is absolutely unhinged but god damn it, I respect you.

Thanks stranger over the internet seems like the best option.

[–] MrTolkinghoen@lemmy.zip 12 points 16 hours ago (1 children)

Tailscale with self hosted headscale

[–] pfr@lemmy.sdf.org 1 points 3 hours ago

Any helpful tips or links to tutorials for this method?

[–] ohshit604@sh.itjust.works 6 points 17 hours ago* (last edited 17 hours ago)

“Technically” my jellyfin is exposed to the internet however, I have Fail2Ban setup blocking every public IP and only whitelisting IP’s that I’ve verified.

I use GeoBlock for the services I want exposed to the internet however, I should also setup Authelia or something along those lines for further verification.

Reverse proxy is Traefik.

[–] EncryptKeeper@lemmy.world 10 points 19 hours ago* (last edited 19 hours ago)

If you’re a beginner and you’re looking for the most secure way with least amount of effort, just VPN into your home network using something like WireGuard, or use an off the shelf mesh vpn like Tailscale to connect directly to your JF server. You can give access to your VPN to other people to use. Tailscale would be the easiest to do this with, but if you want to go full self-hosted you can do it with WireGuard if you’re willing to put in a little extra leg work.

What I’ve done in the past is run a reverse proxy on a cloud VPS and tunnel that to the JF server. The cloud VPS acts as a reverse proxy and a web application firewall which blocks common exploits, failed connection attempts etc. you can take it one step beyond that if you want people to authenticate BEFORE they reach your server by using an oauth provider and whatever forward Auth your reverse proxy software supports.

[–] recall519@lemm.ee 6 points 18 hours ago (1 children)

Cloudflare. No public exposure to the internet.

[–] Batman@lemmy.world 7 points 17 hours ago (2 children)

Are we not worried about their terms of service? I've been using pangolin

[–] recall519@lemm.ee 4 points 14 hours ago

I run multiple enterprise companies through it who are transferring significantly more sensitive data than me. I'm not as strict as some people here, so no, I don't really care. I think it's the best service, especially for free, so until things change, that's what I'm using.

[–] kalpol@lemmy.ca 5 points 16 hours ago (1 children)

We are, Batman, we are.

I VPN to my network for it.

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

I expose jellyfin and keycloak to the internet with pangolin, jellyfin user only has read access. Using the sso 🔌 jellyfin listens to my keycloak which has Google as an identity provider(admin disabled), restricting access to my users, but letting people use their google identity. Learned my family doesn't use anything that isn't sso head-to-toe.

It's what we do in the shadows that makes us heroes, kalpol.

[–] mal3oon@lemmy.world 3 points 6 hours ago

First time I hear someone using keycloak for local hosting.

[–] _cryptagion@lemmy.dbzer0.com 26 points 1 day ago (1 children)

My go to secure method is just putting it behind Cloudflare so people can’t see my IP, same as every other service. Nobody is gonna bother wasting time hacking into your home server in the hopes that your media library isn’t shit, when they can just pirate any media they want to watch themselves with no effort.

[–] EncryptKeeper@lemmy.world 9 points 19 hours ago (5 children)

Nobody is gonna bother wasting time hacking into your home server

They absolutely will lol. It’s happening to you right now in fact. It’s not to consume your media, it’s just a matter of course when you expose something to the internet publicly.

[–] _cryptagion@lemmy.dbzer0.com 3 points 19 hours ago (1 children)

No, people are probing it right now. But looking at the logs, nobody has ever made it through. And I run a pretty basic setup, just Cloudflare and Authelia hooking into an LDAP server, which powers Jellyfin. Somebody who invests a little more time than me is probably a lot safer. Tailscale is nice, but it’s overkill for most people, and the majority of setups I see posted here are secure enough to stop any random scanning that happens across them, if not dedicated attention.

[–] EncryptKeeper@lemmy.world 7 points 19 hours ago* (last edited 19 hours ago) (11 children)

No, they are actively trying to get in right now. If you have Authelia exposed they’re brute forcing it. They’re actively trying to exploit vulnerabilities that exist in whatever outwardly accessible software you’re exposing is, and in many cases also in software you’re not even using in scattershot fashion. Cloudflare is blocking a lot of the well known CVEs for sure, so you won’t see those hit your server logs. If you look at your Authelia logs you’ll see the login attempts though. If you connect via SSH you’ll see those in your server logs.

You’re mitigating it, sure. But they are absolutely 100% trying to get into your server right now, same as everyone else. There is no consideration to whether you are a self hosted or a Fortune 500 company.

load more comments (11 replies)
load more comments (4 replies)
[–] fmstrat@lemmy.nowsci.com 20 points 1 day ago (2 children)

I used to do all the things mentioned here. Now, I just use Wireguard. If a family member wants to use a service, they need Wireguard. If they don't want to install it, they dont get the service.

[–] MehBlah@lemmy.world 4 points 20 hours ago

Came here to say this. I use wireguard and it simply works.

[–] keinsinn@lemmy.zip 4 points 20 hours ago

Pangolin could be a solution

[–] FrostyCaveman@lemm.ee 38 points 1 day ago* (last edited 1 day ago) (3 children)

I think my approach is probably the most insane one, reading this thread…

So the only thing I expose to the public internet is a homemade reverse proxy application which supports both form based and basic authentication. The only thing anonymous users have access to is the form login page. I’m on top of security updates with its dependencies and thus far I haven’t had any issues, ever. It runs in a docker container, on a VM, on Proxmox. My Jellyfin instance is in k8s.

My mum wanted to watch some stuff on my Jellyfin instance on her Chromecast With Google TV, plugged into her ancient Dumb TV. There is a Jellyfin Android TV app. I couldn’t think of a nice way to run a VPN on Android TV or on any of her (non-existent) network infra.

So instead I forked the Jellyfin Android TV app codebase. I found all the places where the API calls are made to the backend (there are multiple). I slapped in basic auth credentials. Recompiled the app. Deployed it to her Chromecast via developer mode.

Solid af so far. I haven’t updated Jellyfin since then (6 months), but when I need to, I’ll update the fork and redeploy it on her Chromecast.

[–] EpicFailGuy@lemmy.world 14 points 1 day ago

What an absolute gigachad XD

load more comments (2 replies)
[–] Scavenger8294@feddit.org 18 points 1 day ago (2 children)

for me the easiest option was to set up tailscale on the server or network where jellyfin runs and then on the client/router where you want to watch the stream.

[–] FoD@startrek.website 9 points 1 day ago (1 children)

This is also what I do, however, each user creates their own tailnet, not an account on mine and I share the server to them.

This way I keep my 3 free users for me, and other people still get to see jellyfin.

Tailscale and jellyfin in docker, add server to tailnet and share it out to your users emails. They have to install tailscale client in a device, login, then connect to your jellyfin. My users use Walmart Onn $30 streaming boxes. They work great.

I struggled for a few weeks to get it all working, there's a million people saying "I use this" but never "this is how to do it". YouTube is useless because it's filled with "jellyfin vs Plex SHOWDOWN DEATH FIGHT DE GOOGLE UR TOILET".

[–] aeiou_ckr@lemmy.world 1 points 14 hours ago (1 children)

For the users you have using Onn TVs, is Tailscale just installed on a device on the network or on the Onn TVs?

[–] FoD@startrek.website 1 points 11 hours ago* (last edited 11 hours ago)

The onn boxes run android so it's just installed as an app from play store. The users connect with their own tailscale account. My server is shared so they see it. Then they install jellyfin on the device, punch in the hostname of the server given by tailscale and the port and then it connects.

I could not get my reverse proxy to let them use my local domain.. I'm not smart enough and couldn't figure it out but they are only using jellyfin so typing one address was fine.

load more comments (1 replies)
[–] smiletolerantly@awful.systems 25 points 1 day ago (1 children)

I host it publicly accessible behind a proper firewall and reverse proxy setup.

If you are only ever using Jellyfin from your own, wireguard configured phone, then that's great; but there's nothing wrong with hosting Jellyfin publicly.

I think one of these days I need to make a "myth-busting" post about this topic.

[–] Auli@lemmy.ca 7 points 19 hours ago

Same for me. But according to everyone I should be destroyed.

[–] snowflocke@feddit.org 8 points 1 day ago

We have it open to the public, behind a load balancer URL filtering incomming connection, https proxied through cloudflare with a country filter in place

load more comments
view more: next ›