this post was submitted on 26 Jun 2025
347 points (98.3% liked)

Selfhosted

48661 readers
1726 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
[–] _cryptagion@lemmy.dbzer0.com 19 points 4 hours ago

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.

[–] fmstrat@lemmy.nowsci.com 13 points 4 hours ago (3 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 1 points 3 minutes ago

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

[–] keinsinn@lemmy.zip 2 points 30 minutes ago

Pangolin could be a solution

[–] nfreak@lemmy.ml 1 points 3 hours ago

I started my homelab with a couple exposed services, but frankly the security upkeep and networking headaches weren't worth the effort when 99% of this server's usage is at home anyway.

I've considered going the Pangolin route to expose a handful of things for family but even that's just way too much effort for very little added value (plus moving my reverse proxy to a VPS doesn't sound ideal in case the internet here goes down).

Getting 2 or 3 extra folks on to wireguard as necessary is just much easier.

[–] snowflocke@feddit.org 7 points 5 hours 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

[–] Scavenger8294@feddit.org 19 points 7 hours 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 4 points 6 hours ago

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".

[–] Taggara@programming.dev 2 points 7 hours ago

This is what I do as well. Works super well

[–] FrostyCaveman@lemm.ee 28 points 10 hours ago* (last edited 10 hours ago) (2 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 7 points 4 hours ago

What an absolute gigachad XD

[–] Couldbealeotard@lemmy.world 8 points 6 hours ago (1 children)
[–] FrostyCaveman@lemm.ee 5 points 6 hours ago

VERY hands on, wouldn’t recommend it haha.

But that’s the beauty of open source. You CAN do it

[–] PieMePlenty@lemmy.world 11 points 9 hours ago (1 children)

I access it through a reverse proxy (nginx). I guess the only weak point is if someone finds out the domain for it and starts spamming the login screen. But I've restricted access to the domain for most of the world anyway. Wireguard would probably be more secure but its not always possible if like on vacation and want to use it on the TV there..

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

It is possible if you get something like an nvidia shield tho. But of course not everyone has it or the money for it

[–] skoell13@feddit.org 3 points 7 hours ago (1 children)
[–] EpicFailGuy@lemmy.world 1 points 4 hours ago (1 children)

I'm currently using CF Tunnels and I'm thinking about this (I have pretty good offers for VPS as low as $4 a month)

Can you comment on bandwidth expectations? My concern is that I also tunnel Nextcloud and my offsite backups and I may exceed the VPS bandwidth restrictions.

BTW I'm testing Pangolin which looks AWESOME so far.

[–] skoell13@feddit.org 2 points 2 hours ago (1 children)

I am using the free Oracle VPS offer until they block me, so far I have no issue. Alzernatively I wanted to check out IONOS, since you dont have a bandwidth limit there.

[–] EpicFailGuy@lemmy.world 1 points 2 hours ago

WOW! That's one hell of a deal. You've convinced me XD I'm installing pangolin Right now. The hell with Cloudflare and their evil ways

[–] smiletolerantly@awful.systems 17 points 11 hours 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.

[–] greywolf0x1@lemmy.ml 7 points 11 hours ago

Please do so, it'll be very useful

[–] Takios@discuss.tchncs.de 6 points 9 hours ago

Wireguard VPN to my fritzbox lets me access my jellyfin.

[–] WhatThaFudge@lemmy.sdf.org 7 points 10 hours ago
[–] circledot@feddit.org 7 points 10 hours ago

I use a wire guard tunnel into my Fritz box and from there I just log in because I'm in my local network.

[–] Vanilla_PuddinFudge@infosec.pub 33 points 14 hours ago* (last edited 14 hours ago) (2 children)

Jellyfin isn't secure and is full of holes.

That said, here's how to host it anyway.

  1. Wireguard tunnel, be it tailscale, netbird, innernet, whatever
  2. A vps with a proxy on it, I like Caddy
  3. A PC at home with Jellyfin running on a port, sure, 8096

If you aren't using Tailscale, make your VPS your main hub for whatever you choose, pihole, wg-easy, etc. Connect the proxy to Jellyfin through your chosen tunnel, with ssl, Caddy makes it easy.

Since Jellyfin isn't exactly secure, secure it. Give it its own user and make sure your media isn't writable by the user. Inconvenient for deleting movies in the app, but better for security.

more...

Use fail2ban to stop intruders after failed login attempts, you can force fail2ban to listen in on jellyfin's host for failures and block ips automatically.

More!

Use Anubis and yes, I can confirm Anubis doesn't intrude Jellyfin connectivity and just works, connect it to fail2ban and you can cook your own ddos protection.

MORE!

SELinux. Lock Jellyfin down. Lock the system down. It's work but it's worth it.

I SAID MORE!

There's a GeoIP blocking plugin for Caddy that you can use to limit Jellyfin's access to your city, state, hemisphere, etc. You can also look into whitelisting in Caddy if everyone's IP is static. If not, ddns-server and a script to update Caddy every round? It can get deep.

Again, don't do any of this and just use Jellyfin over wireguard like everyone else does(they don't).

[–] oyzmo@lemmy.world 9 points 12 hours ago (2 children)

Wow, a "for dummies" guide for doing all this would be great 😊 know of any?

[–] Vanilla_PuddinFudge@infosec.pub 2 points 7 hours ago

I figured infodump style was a bit easier for me at the time so anyone could take anything I namedropped and go search to their heart's content.

[–] ohshit604@sh.itjust.works 4 points 10 hours ago* (last edited 10 hours ago) (1 children)

If you aren’t already familiarized with the Docker Engine - you can use Play With Docker to fiddle around, spin up a container or two using the docker run command, once you get comfortable with the command structure you can move into Docker Compose which makes handling multiple containers easy using .yml files.

Once you’re comfortable with compose I suggest working into Reverse Proxying with something like SWAG or Traefik which let you put an domain behind the IP, ssl certificates and offer plugins that give you more control on how requests are handled.

There really is no “guide for dummies” here, you’ve got to rely on the documentation provided by these services.

[–] oyzmo@lemmy.world 1 points 4 hours ago
load more comments (1 replies)

If it’s just so you personally can access it away from home, use tailscale. Less risky than running a publicly exposed server.

[–] potentiallynotfelix@lemmy.fish 3 points 10 hours ago

VPN or Tailscale

load more comments
view more: next ›