Jellyfin over the internet
from TribblesBestFriend@startrek.website to selfhosted@lemmy.world on 26 Jun 18:31
https://startrek.website/post/25296230

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

#selfhosted

threaded - newest

oong3Eepa1ae1tahJozoosuu@lemmy.world on 26 Jun 18:36 next collapse

Nginx in front of it, open ports for https (and ssh), nothing more. Let’s encrypt certificate and you’re good to go.

TribblesBestFriend@startrek.website on 26 Jun 18:43 next collapse

Cool if I understand only some of things that you have said. So you have a beginner guide I could follow?

dataprolet@lemmy.dbzer0.com on 26 Jun 18:47 collapse

Take a look at Nginx Proxy Manager and how to set it up. But you’ll need a domain for that. And preferably use a firewall of some sort on your server and only allow said ports.

TribblesBestFriend@startrek.website on 26 Jun 18:53 collapse

I’ve look a little on it, didn’t understand most of it. I’m looking for a comprehensive beginner guide before going foward

wreckedcarzz@lemmy.world on 26 Jun 20:15 collapse

This isn’t a guide, but any reverse proxy allows you to limit open ports on your network (router) by using subdomains (thisPart.website.com) to route connections to an internal port.

So you setup a rev proxy for jellyfin.website.com that points to the port that jf wants to use. So when someone connects to the subdomain, the reverse proxy is hit, and it reads your configuration for that subdomain, and since it’s now connected to your internal network (via the proxy) it is routed to the port, and jf “just works”.

There’s an ssl cert involved but that’s the basic understanding. Then you can add Some Other Services at whatever.website.com and rinse and repeat. Now you can host multiple services, without exposing the open ports directly, and it’s easy for users as there is nothing “confusing” like port numbers, IP addresses, etc.

scoobydoo27@lemmy.zip on 26 Jun 21:52 collapse

So I’m another newbie dummy to reverse proxies. I’ve got my jellyfin accessible at jellyfin.mydomain.com but I can only access it through the web. How do I share with other people who want to use the apps? I can’t get my apps to find my instance.

Novi@sh.itjust.works on 26 Jun 18:49 next collapse

I would not publicly expose ssh. Your home IP will get scanned all the time and external machines will try to connect to your ssh port.

30p87@feddit.org on 26 Jun 18:54 next collapse

fail2ban with endlessh and abuseipdb as actions

Anything that’s not specifically my username or git gets instantly blocked. Same with correct users but trying to use passwords or failing authentication in any way.

drkt@scribe.disroot.org on 26 Jun 19:41 next collapse

They can try all they like, man. They’re not gonna guess a username, key and password.

Ptsf@lemmy.world on 26 Jun 22:35 collapse

Doesn’t take that to leverage an unknown vulnerability in ssh like:

blog.qualys.com/…/regresshion-remote-unauthentica…

That’s why it’s common best practice to never expose ssh to raw internet if you can help it; but yes it’s not the most risky thing ever either.

drkt@scribe.disroot.org on 26 Jun 22:53 collapse

If you’re going to open something, SSH is far, far more battle-tested than much other software, even popular software. Pragmatically, If someone is sitting on a 0-day for SSH, do you genuinely think they’re gonna waste that on you and me? Either they’re gonna sell it to cash out as fast as possible, or they’ll sit on it while plotting an attack against someone who has real money. It is an unhealthy level of paranoia to suggest that SSH is not secure, or that it’s less secure than the hundreds of other solutions to this problem.

Here is my IP address, make me eat my words.
2a05:f6c7:8321::164 | 89.160.150.164

Ptsf@lemmy.world on 26 Jun 23:02 collapse

I linked a relevant vulnerability, but even ignoring that, pragmatically, you feel they’d be targeting specific targets instead of just what they currently do? (That, by the way, is automating the compromise of vulnerable clients in mass scale to power botnets). Any service you open on your device to the internet is inherently risky. Ssh best practices are, and have been since the early days, not to expose it to the internet directly.

troed@fedia.io on 26 Jun 19:45 next collapse

So? Pubkey login only and fail2ban to take care of resource abuse.

fuckwit_mcbumcrumble@lemmy.dbzer0.com on 26 Jun 19:52 next collapse

Change the port it runs on to be stupid high and they won’t bother.

oong3Eepa1ae1tahJozoosuu@lemmy.world on 26 Jun 20:20 collapse

Sorry, misunderstanding here, I’d never open SSH to the internet, I meant it as “don’t block it via your server’s firewall.”

cm0002@lemmy.world on 26 Jun 19:18 collapse

Also run the reverse proxy on a dedicated box for it in the DMZ

oong3Eepa1ae1tahJozoosuu@lemmy.world on 26 Jun 20:21 next collapse

In a perfect world, yes. But not as a beginner, I guess?

cm0002@lemmy.world on 26 Jun 21:02 collapse

It’s beginner level, the hard part is the reverse proxy, once you have a grasp on that just having it on a dedicated box in a segmented portion on your firewall designated as the DMZ is easy. Id even go so far as to say its the bare minimum if you’re even considering exposing to the internet.

It doesn’t even need to be all that powerful since its just relaying packets as a middleman

Ptsf@lemmy.world on 26 Jun 22:38 collapse

Honestly you can usually just static ip the reverse proxy and open up a 1:1 port mapping directly to that box for 80/443. Generally not relevant to roll a whole DMZ for home use and port mapping will be supported by a higher % of home routing infrastructure than DMZs.

cupcakezealot@piefed.blahaj.zone on 26 Jun 18:38 next collapse

for me i just needed a basic system so my family could share so I have it on my pc, then I registered a subdomain and pointed it to my existing ec2 server with apache using a proxy which points to my local ip and port then I opened the jellyfin port on my router

and I have certbot for my domain on ec2 :)

femtech@midwest.social on 26 Jun 18:45 collapse

Who are you using for your domain? I was told if I used cloudfair they would ban me for having streaming traffic over their DNS.

cupcakezealot@piefed.blahaj.zone on 26 Jun 18:50 next collapse

for me I just registered through route 53 its a subdomain of my personal domain.

superglue@lemmy.dbzer0.com on 26 Jun 18:53 next collapse

That would only be if you use their cloudflare tunnel feature

Darkassassin07@lemmy.ca on 26 Jun 18:54 collapse

You can use cloudflares DNS and not use their WAF (the proxy bit) just fine. I have been for almost a decade.

femtech@midwest.social on 26 Jun 20:59 collapse

Ahh ok, I have as going to route Plex over 443 to see if that helped streaming on T-Mobile home Internet.

cloudless@piefed.social on 26 Jun 18:42 next collapse

Unifi teleport. A zero configuration VPN to my home network.

TribblesBestFriend@startrek.website on 26 Jun 18:49 collapse

I’m fidgeting with Tailscale but I find this solution some what lacking

themadcodger@kbin.earth on 26 Jun 19:16 collapse

Tailscale is great for not opening your ports to the internet. Having it playable on a friend's appletv adds some extra complexity. Reverse proxy on a subdomain with something like fail2ban would work, but it does leave you more vulnerable.

rastacalavera@lemmy.world on 26 Jun 18:43 next collapse

I use LSIO container stack so SWAG for the proxy. They have really good documentation and active discord docs.linuxserver.io

hellequin67@lemmy.zip on 26 Jun 18:43 next collapse

Personally I use twingate, free for 5 users and relatively straightforward to set up.

TribblesBestFriend@startrek.website on 26 Jun 18:48 collapse

I’m fidgeting with Tailscale right now, only to stream on a AppleTV at a friend house. So far no luck but that’s not me that set up Infuse, so could be an operator error on my friend part

hellequin67@lemmy.zip on 26 Jun 19:27 next collapse

I tried tailscale first but to be honest wasn’t a fan. I moved to Twingate and found it much simpler to set up

TribblesBestFriend@startrek.website on 26 Jun 19:28 collapse

Will look into it, thanks !

ladfrombrad@lemdro.id on 26 Jun 20:00 collapse

The way I do it for a family member with Tailscale is them having a couple of boxes down there (n100 with their Jellyfin server, and a RPI4 with a TVHServer) with my Tailnet signed in, and those boxes running both a “subnet router” and an "exit node"that both me and said fam member can use.

This means she has permissions to use the exit node wherever like I do to my own local LAN, to connect to her LAN and access things locally since you can assign them via the ACL’s / device perms.

I know reading docs can suck sometimes but honest to god the ones that Tailscale put up are pretty awesome.

tailscale.com/kb

Along with all the YT videos about it I didn’t even have to go nagging on forums to get it to work, and that’s a general first for me.

Novi@sh.itjust.works on 26 Jun 18:47 next collapse

Over the top for security would be to setup a personal VPN and only watch it over the VPN. If you are enabling other users and you don’t want them on your network; using a proxy like nginx is the way.

Being new to this I would look into how to set these things up in docker using docker-compose.

a@91268476.xyz on 26 Jun 18:47 next collapse

@TribblesBestFriend @selfhosted Tailscale. I also use a reverse proxy because I like nice names

TribblesBestFriend@startrek.website on 26 Jun 18:51 collapse

I’m using Tailscale right now but so far no luck on my friend AppleTV. But like I said elsewhere it’s probably a operator error

a@91268476.xyz on 26 Jun 18:59 collapse

@TribblesBestFriend @selfhosted I don’t use appletv but a workaround could be using airplay maybe?

TribblesBestFriend@startrek.website on 26 Jun 19:16 collapse

There’s no dedicated Jellyfin app for AppleTV you have to use Infuse.

I presume that the information from Tailscale wasn’t transfer correctly into Infuse. I’ll have to check it on place

dataprolet@lemmy.dbzer0.com on 26 Jun 18:49 next collapse

I’m using a cheap VPS that connects over Tailscale to my home server. The VPS runs Nginx Proxy Manager, has a firewall and the provider offers DDOS protection and that’s it.

bl_r@lemmy.dbzer0.com on 26 Jun 18:56 next collapse

Tailscale, with nginx for https.

Very easy, very simple, just works, and i can share my jellyfin server with my friends

comrade_twisty@feddit.org on 26 Jun 18:59 next collapse

Pangolin with Newt and CrowdSec on a VPS hosted in Europe, domain registered through cloudflare.

KingThrillgore@lemmy.ml on 26 Jun 18:59 next collapse

Set up a VPN, use PiVPN

TribblesBestFriend@startrek.website on 26 Jun 19:17 collapse

I’ll try looking into that

KingThrillgore@lemmy.ml on 26 Jun 19:36 collapse

Just remember to test with something better than your phone, T-Mobile aggressively filters VPNs. Try a coffee shop.

TribblesBestFriend@startrek.website on 26 Jun 19:39 collapse

Not in the US, most providers are asshole-y but seems less asshole that T-Mobile

johannes@lemmy.jhjacobs.nl on 26 Jun 19:01 next collapse

With wireguard i set up an easy VPN, then vpn to the home network and use jellyfin.

If i cant use vpn, i have Jellyfin behind a caddy server with automatic https and some security settings.

hietsu@sopuli.xyz on 26 Jun 19:11 next collapse

Use a reverse proxy (caddy or nginx proxy manager) with a subdomain, like myservice.mydomain.com (maybe even configure a subdir too, so …domain.com/guessthis/). Don’t put anything on the main domain / root dir / the IP address.

If you’re still unsure setup Knockd to whitelist only IP addresses that touch certain one or two random ports first.

So security through obscurity :) But good luck for the bots to figure all that out.

VPN is of course the actually secure option, I’d vote for Tailscale.

TribblesBestFriend@startrek.website on 26 Jun 19:20 next collapse

Look pretty interesting. Do you have guide I could follow ?

hietsu@sopuli.xyz on 26 Jun 21:09 collapse

Not at hand no, but I’m sure any of the LLMs can guide you through the setup if googling does not give anything good.

Nothing very special about all this, well maybe the subdir does require some extra spells to reverse proxy config.

Alk@sh.itjust.works on 26 Jun 19:31 collapse

I kept the main domain open, but redirected it to a rickroll

hietsu@sopuli.xyz on 26 Jun 21:21 collapse

Nice, but the bots may not understand the joke.

And not only that but they will tag the domain with ”there is something here”, and maybe some day someone will take a closer look and see if you are all up-to-date or would there maybe be a way in. So better to just drop everything and maybe also ban the IP if they happen to try poke some commonly scanned things (like /wp-admin, /git, port 22 etc.) GoAccess is a pretty nice tool to show you what they are after.

Alk@sh.itjust.works on 26 Jun 22:03 collapse

Yeah that’s a good point. The joke is mostly for my own enjoyment or any random user who happens to forget the jellyfin. subdomain.

I have had a few hits to /wp-admin, but cloudflare actually blocks those for me (I don’t use a tunnel but I do use them for the domain name which helps a bit). I might just shut down the main page then.

bjoern_tantau@swg-empire.de on 26 Jun 19:13 next collapse

My router has a VPN server built-in. I usually use that.

Mordikan@kbin.earth on 26 Jun 19:17 next collapse

For my travel devices, I use Tailscale to talk to the server. For raw internet, I use their funnel feature to expose the service over HTTPS. Then just have fail2ban watching the port to make sure no shenanigans or have the entire service offlined until I can check it.

Darkassassin07@lemmy.ca on 26 Jun 19:19 next collapse

An $11/yr domain pointed at my IP. Port 443 is open to nginx, which proxies to the desired service depending on subdomain. (and explicitly drops any connection that uses my raw ip or an unrecognized name to connect, without responding at all)

ACME.sh automatically refreshes my free ssl certificate every ~2months via DNS-01 verification and letsencrypt.

And finally, I’ve got a dynamic IP, so DDClient keeps my domain pointed at the correct IP when/if it changes.


There’s also pihole on the local network, replacing the WAN IP from external DNS, with the servers local IP, for LAN devices to use. But that’s very much optional, especially if your router performs NAT Hairpinning.

This setup covers all ~24 of the services/web applications I host, though most other services have some additional configuration to make them only accessible from LAN/VPN despite using the same ports and nginx service. I can go into that if there’s interest.

Only Emby/Jellyfin, Ombi, and Filebrowser are made accessible from WAN; so I can easily share those with friends/family without having to guide them through/restrict them to a vpn connection.

HeyJoe@lemmy.world on 26 Jun 19:20 next collapse

Synology with Emby (do not use the connect service they offer) running behind my fortinet firewall. DDNS with my own domain name and ssl cert. Open 1 custom port (not 443) for it, and that’s it. Geoblock every country but my own, which basically eliminated all random traffic that was hitting hit. I’ve been running it this way for 5 years now and have no issues to report.

AMillionMonkeys@lemmy.world on 26 Jun 20:24 collapse

How are you geoblocking?

HeyJoe@lemmy.world on 26 Jun 20:45 collapse

Sadly, it may not be an option for a lot of people, but on the fortinet firewall you can make policies and set up geoblocking.

Andrew@mnstdn.monster on 26 Jun 19:21 next collapse

Nobody here with a tailscale funnel?? It's such a simple way to get https access from anywhere without being on the tailnet.

TribblesBestFriend@startrek.website on 26 Jun 19:26 next collapse

I’m looking into it but I find that starting (or keeping open) Tailscale for music is not the best system.

I’m looking into building a shared Jellyfin library between friends

witx@lemmy.sdf.org on 26 Jun 19:39 collapse

Is the funnel URL accessible by everyone who knows it? I.e what are the chances someone finds the URL and gets access to it?

Alk@sh.itjust.works on 26 Jun 19:30 next collapse

SWAG reverse proxy with a custom domain+subdomain, protected by authentik and fail2ban. Easy access from anywhere once it’s set up. No vpn required, just type in the short subdomain.domain.com and sign in (or the app keeps me signed in)

TribblesBestFriend@startrek.website on 26 Jun 19:34 next collapse

That’s probably this type of setup I would want but I miss the technical know how, so if you have a cool beginner guide

Alk@sh.itjust.works on 26 Jun 20:24 next collapse

I used several separate guides plus help from a friend. Check out space invader one’s YouTube channel. I’m not at my pc right now but I can gather some of the tutorials I used when I get back.

Alk@sh.itjust.works on 26 Jun 22:15 collapse

Here is the video I followed for SWAG. Note that this (and most of IBRACORP’s guides, which are all fantastic) uses Unraid as the OS, which automates a lot of the processes.

youtu.be/N7FlsvhpVGE

And here is a written guide by the same group to go with or replace the video if this is more your speed: docs.ibracorp.io/swag-2/

I’ll be honest, even for “beginners” (which I was when I started this) this is still a lot to take in. Let me know if you run into any specific questions and I can try to help you.

iAmTheTot@sh.itjust.works on 26 Jun 20:32 collapse

What’s the point of authentik when Jellyfin already has authentication?

Alk@sh.itjust.works on 26 Jun 22:00 collapse

While technically not strictly necessary, it adds more robust authentication methods, and makes it easier to build out other apps if you want to in the future without having to re-do the sign-in process for all of your users. You can have things like 2fa and other things that make it harder for bots to get in and easier for users to stay in. It also makes it easier to keep track of login attempts and notice compromised accounts.

Edit: There are also alternatives like authelia that may be easier to implement. I don’t really trust most web apps to be ultra secure with internet-facing sign-in pages so it just feels like “good practice” to hide behind an auth service whose sole purpose is to be written and built securely. Plus once you learn how to set up fail2ban with an auth service, there will be no need to re-learn or re-implement it if you add a 2nd app/service. Very modular and makes testing and adding new things much easier.

Another benefit is that it has a nice GUI. I can look at logins, add services, stuff like that without touching config files which will be nice for those who don’t like wading through text files to change config.

iAmTheTot@sh.itjust.works on 26 Jun 22:15 collapse

Can authentik pass through the authentication to Jellyfin, or do you just log in twice?

Alk@sh.itjust.works on 26 Jun 22:18 collapse

It can pass through. There is even an official Authentik guide on the various methods specifically for Jellyfin: integrations.goauthentik.io/…/jellyfin/

Same with Authelia, though I don’t have a link for that on hand.

gravitywell@sh.itjust.works on 26 Jun 19:33 next collapse

I rent a cheap $5/mo VPS and use it to run a wireguard server with wgeasy and nginx proxy manager. Everything else runs on my home server connected by wireguard.

BakedCatboy@lemmy.ml on 26 Jun 20:07 next collapse

This is 99% my setup, just with a traefik container attached to my wifeguard container.

Can recommend especially because I can move apartments any time, not care about CGNAT (my current situation which I predicted would be the case), and easily switch to any backup by sticking my boxes on any network with DHCP that can reach the Internet (like a 4G hotspot or a nanobeam pointed at a public wifi down the road) in a pinch without reconfiguring anything.

Machinist0938@piefed.social on 26 Jun 20:15 next collapse

Is Nginx Proxy Manager running on the VPS itself and then the proxy routes across the wireguard to your home server? Or is the VPS just port forwarding to your home server which runs the proxy?

Bruhh@lemmy.world on 26 Jun 20:34 next collapse

I also would like to know

gravitywell@sh.itjust.works on 26 Jun 22:56 collapse

My goal was to have no ports exposed on my home network so the proxy is on the VPS. My home server connects over wireguad to the vps, then all the traffic is routed over wireguard to the home server which only listens on wireguard.

TwiddleTwaddle@lemmy.blahaj.zone on 26 Jun 20:26 collapse

I was just trying to get a setup like this going yesterday. I used standard Wiregaurd and got that working between the VPS and home server, but I was trying to set up Caddy as a reverse proxy to direct the incoming traffic through the WG VPN to my services. I wasnt able to figure it out yesterday. Everyone online says Caddy is so simple, but I’m such a noob I just have no idea what it’s doing or how to troubleshoot.

No_Bark@lemmy.dbzer0.com on 26 Jun 23:00 next collapse

I’ve also really struggled with Caddy despite everyone saying its so simple. I’m pretty new to all this, but I had better luck with Traefik - I now actually have a reverse proxy up and running correctly, which I haven’t been able replicate with Caddy.

Traefik labels make sense to me in a way Caddy does not.

gravitywell@sh.itjust.works on 26 Jun 23:03 collapse

I havent tried caddy but i might be able to help get it figured out if you wanna chat some time. My contact info is on my website.

NuXCOM_90Percent@lemmy.zip on 26 Jun 19:38 next collapse

I don’t use jellyfin but my general approach is either:

  1. Expose it over a VPN only. I usually use Tailscale for this so that I can expose individual machines but you do you
  2. Cloudflare tunnel that exposes a single port on a single internal machine to a subdomain I own

There are obviously ways to do this all on your own but… if you are asking this question you probably want to use one of those to roll it. Because you can leave yourself ridiculously vulnerable if you do it yourself.

TribblesBestFriend@startrek.website on 26 Jun 19:40 collapse

That’s my feeling too

SmoothLiquidation@lemmy.world on 26 Jun 20:06 collapse

I would look into Tailscale based on your responses here. I don’t know what your use case is exactly but you set TS up on your server and then again on your phone/laptop and you can connect them through the vpn directly. No extra exposed ports or making a domain or whatnot.

If you want other people to access the server they will need to make a TS account and you can authorize them.

lycanrising@lemmy.world on 26 Jun 19:43 next collapse

no idea how safe or secure but i use cloudflare tunnel to point my jellyfin port on my computer

StopSpazzing@lemmy.world on 26 Jun 20:08 collapse

Someone mentioned above that cloudflare will ban you for streaming through their tunnel. Just be warned.

JRaccoon@discuss.tchncs.de on 26 Jun 20:06 next collapse

I see everyone in this thread recommending a VPN or reverse proxy for accessing Jellyfin from outside the LAN. While I generally agree, I don’t see a realistic risk in exposing Jellyfin directly to the internet. It supports HTTPS and certificates nowadays, so there’s no need for outside SSL termination anymore.

In my setup, which I’ve been running for some time, I’ve port-forwarded only Jellyfin’s HTTPS port to eliminate the possibility of someone ending up on pure HTTP and sending credentials unencrypted. I’ve also changed the Jellyfin’s default port to a non-standard one to avoid basic port-scanning bots spamming login attempts. I fully understand that this falls into the security through obscurity category, but no harm in it either.

Anyone wanna yell at me for being an idiot and doing everything wrong? I’m genuinely curious, as the sentiment online seems to be that at least a reverse proxy is almost mandatory for this kind of setup, and I’m not entirely sure why.

BakedCatboy@lemmy.ml on 26 Jun 20:26 next collapse

Imo that’s perfectly fine and not idiotic if you have a static IP, no ISP blocked ports / don’t care about using alt ports, and don’t mind people who find your domain knowing your IP.

I did basically that when I had a fiber line but then I added a local haproxy in front to handle additional subdomains. I feel like people gravitate towards recommending that because it works regardless of the answers to the other questions, even their security tolerance if recommending access only over VPN.

I have CGNAT now so reverse proxy in the cloud is my only option, but at least I’m free to reconfigure my LAN or uproot everything and plant it on any other LAN and it’ll all be fine.

egonallanon@lemm.ee on 26 Jun 20:26 next collapse

Reverse proxies can be useful for hiding your IP if you do something like host it in a VPS and tunnel the traffic back to your self hosted service. There’s also a lot of documentation on attaching things like fail2ban or crowd sec which can be helpful in reducing the threat from attacks. if you’re running lots of services it can reduce the risk of two apps using the same ports as ultimately everything will go through ports 80 and 443 on the public facing side. Finally again if you’re hosting several services having a central place to manage and deal with cert from can save a lot of time rather than having to wrangle it per service/ server.

[deleted] on 26 Jun 20:30 collapse
.
anonion@lemmy.anonion.social on 26 Jun 20:33 next collapse

I think the reason why its generally suggested to use a VPN is because it reduces the risk of intrusion to almost zero. Folks that are not network/sys admin savy would feel safer with the lowest risk solution. Using the port forward method, there could be configuration mistakes made which would unintentionally expose a different service or parts of their home network they don’t want exposed. And then there’s the possibility of application vulnerabilities which is less of an issue when only VPN users can access the application. That being said, I do expose some services via port forwarding but that’s only because I’m comfortable with ensuring its secure.

Reverse proxy is really useful when you have more than one service to expose to the internet because you only have to expose one port. It also automates the certificate creation & simplifies firewall rules inside the home network

frezik@lemmy.blahaj.zone on 26 Jun 20:36 next collapse

Nah, setting non-standard ports is sound advice in security circles.

People misunderstand the “no security through obscurity” phrase. If you build security as a chain, where the chain is only as good as the weakest link, then it’s bad. But if you build security in layers, like a castle, then it can only help. It’s OK for a layer to be weak when there are other layers behind it.

Even better, non-standard ports will make 99% of threats go away. They automate scans that are just looking for anything they can break. If they don’t see the open ports, they move on. Won’t stop a determined attacker, of course, but that’s what other layers are for.

As long as there’s real security otherwise (TLS, good passwords, etc), it’s fine.

If anyone says “that’s a false sense of security”, ignore them. They’ve replaced thinking with a cliche.

makeitwonderful@lemmy.sdf.org on 26 Jun 20:37 next collapse

It feels like everything is a tradeoff and I think a setup like this reduces the complexity for people you share with.

If you added fail2ban along with alert email/notifications you could have a chance to react if you were ever targeted for a brute force attempt. Jellyfin docs talk about setting this up for anyone interested.

Blocking IP segments based on geography of countries you don’t expect connections from adds the cost of a VPN for malicious actors in those areas.

Giving Jellyfin its own VLAN on your network could help limit exposure to your other services and devices if you experience a 0day or are otherwise compromised.

domi@lemmy.secnd.me on 26 Jun 22:09 next collapse

Anyone wanna yell at me for being an idiot and doing everything wrong?

Not yell, but: Jellyfin is dropping HTTPS support with a future update so you might want to read up on reverse proxies before then.

Additionally, you might want to check if Shodan has your Jellyfin instance listed: www.shodan.io

Ptsf@lemmy.world on 26 Jun 22:51 collapse

It’s difficult to say exactly what all a reverse proxy adds to the security conversation for a handful of reasons, so I won’t touch on that, but the realistic risk of exposing your jellyfin instance to the internet is about the same as handing your jellyfin api over to every stranger globally without giving them your user account or password and letting them do whatever they’d like for as long as they’d like. This means any undiscovered or unintentional vulnerability in the api implementation could easily allow for security bypass or full rce (remote code execution, real examples of this can be found by looking at the history of WordPress), but by siloing it behind a vpn you’re far far far more secure because the internet at large cannot access the apis even if there is a known vulnerability. I’m not saying exposing jellyfin to the raw web is so risky it shouldn’t be done, but don’t buy into the misconception that it’s even nearly as secure as running a vpn. They’re entirely different classes of security posture and it should be acknowledged that if you don’t have actual use for internet level access to jellyfin (external users, etc, etc) a vpn like tailscale or zero tier is 100% best practice.

borax7385@lemmy.world on 26 Jun 20:27 next collapse

I have had Jellyfin directly open to the Internet with a reverse proxy for years. No problems.

pHr34kY@lemmy.world on 26 Jun 22:28 collapse

If your reverse proxy only acknowledges jellyfin exists if the hostname is correct, you won’t get discovered by an IP scanner.

Mine’s on jellyfin.[domain].com and you get a completely different page if you hit it by IP address.

If it does get found, there’s also a fail2ban to rate-limit someone brute-forcing a login.

I’ve always exposed my home IP to the internet. Haven’t had an issue in the last 15 years. I’m running about 10 public-facing services including NTP and SMTP.

chug-capture-ahoy@piefed.social on 26 Jun 20:41 next collapse

Tailscale - funnel

Just that

Bruhh@lemmy.world on 26 Jun 20:46 next collapse

I’m trying to self host navidrome in docker with a cloudflare domain and reverse proxy on the same network. Still fiddling myself since I keep getting a 403 cloudflare no access error.

Essentially, using cert provided by cloudflare where they proxy to my ip. From there the reverse proxy routes to my service. If I’m understanding it right, anyone with my domain would only see cloudflare ip instead of my own. Someone correct me if I’m wrong. I’m still learning this stuff as well.

Prior to this, I was using tailscale which worked fine but I’d have to connect via tailscale everytime and some instances, it wouldn’t connect properly at all.

r00ty@kbin.life on 26 Jun 20:59 next collapse

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

[deleted] on 26 Jun 21:30 collapse
.
rando@lemmy.ml on 26 Jun 21:07 next collapse

Headscale server on cheap vps with tailscale clients.

Evil_Shrubbery@lemm.ee on 26 Jun 21:09 next collapse

Wireguard.

greylinux@lemm.ee on 26 Jun 21:30 collapse

Exactly this !

Evil_Shrubbery@lemm.ee on 26 Jun 21:59 collapse

lemm.ee :‘’'(

JiveTurkey@lemmy.world on 26 Jun 21:10 next collapse

I’m using jf on unraid. I’m allowing remote https only access with Nginx Proxy Manager in a docker container.

thenose@lemmy.world on 26 Jun 22:13 next collapse

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

bmcgonag@lemmy.world on 26 Jun 22:32 next collapse

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

xnx@slrpnk.net on 26 Jun 22:49 next collapse

Tailscale

ArsonButCute@lemmy.dbzer0.com on 26 Jun 23:00 collapse

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