this post was submitted on 26 Jun 2025
232 points (98.7% liked)

Selfhosted

46676 readers
948 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

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

[–] Vanilla_PuddinFudge@infosec.pub 16 points 2 hours ago* (last edited 2 hours ago) (1 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 5 points 1 hour ago

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

OpenVPN into my own LAN. Stream from there to my device.

[–] bitwolf@sh.itjust.works 1 points 1 hour ago

Is putting it behind an Oauth2 proxy and running the server in a rootless container enough?

[–] somewa@suppo.fi 2 points 2 hours ago

Tailscale + Caddy (automatic certificates FTW).

[–] Sgt_choke_n_stroke@lemmy.world 3 points 3 hours ago (1 children)

Synology worked for me. They have built in reverse proxy. As well as good documentation to install it on their machine. Just gotta configure your wifi router to port forward your device and bam you're ready to rock and roll

Didn’t they patch their things now that your stuck in their bubble/environment now or something like that ?

[–] nutbutter@discuss.tchncs.de 2 points 2 hours ago (1 children)

This is my setup.

Read more, here.

[–] blah3166@piefed.social 1 points 5 minutes ago

good article! thanks for that

[–] Merlin@discuss.tchncs.de 7 points 4 hours ago

I just install tailscale at family houses. The limit is 100 machines.

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

I don't host my media outside my local network but, if I did, I would use my go to method of SWAG with Authentik. This is what I have done for my other self-hosted items.

[–] swearengen@sopuli.xyz 6 points 4 hours ago

I'm just using caddy and a cheap $2 a year .top domain with a $4 a month VPS. Works for my users, I only have 3 users on my server.

[–] spacemanspiffy@lemmy.world 3 points 4 hours ago

OpenVPN into my router

[–] xnx@slrpnk.net 13 points 6 hours ago
[–] Decipher0771@lemmy.ca 5 points 5 hours ago

Jellyfin through a traefik proxy, with a WAF as middleware and brute force login protected by fail2ban

[–] Evil_Shrubbery@lemm.ee 29 points 8 hours ago (2 children)
[–] WhyJiffie@sh.itjust.works 5 points 5 hours ago* (last edited 5 hours ago) (1 children)

and a local reverse proxy that can route through wireguard when you want to watch on a smart tv.

its not as complicated as it sounds, it's just a wireguard client, and a reverse proxy like on the main server.

it can even be your laptop, without hdmi cables

[–] phx@lemmy.ca 1 points 25 minutes ago

You can also use a router that can run wireguard/openvpn and have that run the tunnel back to home for you. I've got a portable GL-Inet router with OpenWRT that I use for this when I'm on the road

[–] greylinux@lemm.ee 7 points 7 hours ago (2 children)
load more comments (2 replies)
[–] ArsonButCute@lemmy.dbzer0.com 7 points 6 hours ago

I use a cloudflare tunnel, ISP won't give me a static IP and I wanna keep my firewall locked down tight.

[–] bmcgonag@lemmy.world 6 points 6 hours ago

Cheap VPS with Pangolin for Wireguard and reverse proving through the tunnel.

[–] r00ty@kbin.life 14 points 8 hours ago (1 children)

Wireguard vpn into my home router. Works on android so fire sticks etc can run the client.

load more comments (1 replies)
[–] thenose@lemmy.world 6 points 7 hours ago

I just use tailscale. I am thinking about external share options but for me and my closests just plain simple tailscale

load more comments
view more: next ›