238
submitted 1 month ago* (last edited 1 month ago) by Vegan_Joe@anarchist.nexus to c/selfhosted@lemmy.world

I have docker installed, but only have a vague idea of how it works.

Back in the day, I would just port forward, but even then, I would need a static IP somehow.

I have heard a reverse proxy is an option, but that is an entirely new topic to me.

Surely there is an easy way to access Jellyfin outside of my home network that I'm just missing.

*Edit: I am blown away by all the help and support! I currently have tailscale running, and I'm in the process of purchasing a domain.

Thanks everyone!

top 50 comments
sorted by: hot top controversial new old
[-] wilmo@programming.dev 114 points 1 month ago

Tailscale. It's free. Insanely easy to set up.

Just install on your devices and connect via the given tailscale ip for the jellyfin server.

[-] sakphul@discuss.tchncs.de 33 points 1 month ago

I would also propose going with Tailscale instead If a VPN + DynDNS solution. Imho it is a lot easier to Setup compared to VPN + DynDNS If you are a beginner and just starting out.

If at some point you need more and then is available in the free Tier of Tailscale and you do not want to pay for it (and you have built up some knowledge!) you can switch to something like Headscale or Netbird.

[-] hoshikarakitaridia@lemmy.world 6 points 1 month ago

I forgot to mention that one because I kinda thought it belongs with radmin and hamachi, but it's my choice as well currently.

I am using it with my own Headscale though, so add a domain to that as well.

And I finally need to switch my vaultwarden to work over tailscale & LAN finally, it's a huge security risk to expose that one.

load more comments (2 replies)
[-] ragebutt@lemmy.dbzer0.com 18 points 1 month ago

Or head scale if you don’t want something you don’t control that requires an account with google/apple/microsoft

load more comments (1 replies)
load more comments (2 replies)
[-] hoshikarakitaridia@lemmy.world 43 points 1 month ago* (last edited 1 month ago)

That's the whole point of a domain. Your IP changes every now and again you need people to know where to reach you. You give them a domain, and you configure the name records so that the domain always points to the right IP address.

Your options:

  • dynamic IP - you keep your setup as is and just periodically tell them the new IP you're on. Annoying and exposed
  • static IP - you buy a static IP (from your ISP) and share it with your friends once. A little bit less annoying and still exposed
  • you use a VPN like hamachi or radmin - your friends install the software, they look for you IP in there, you're done - very secure but also very annoying
  • you buy a domain - you have to configure an IP updater like ddclient or similar, then you jellyfin should be reachable - least annoying for your friends but also slightly less secure

Domain is the cleanest option.

I am telling you how annoying it is because that's how likely your friends are to adopt it and how secure it is because depending on your country you are doing something illegal and you really don't want anyone to find out and you gotta keep it updated more often if you don't want people to exploit it. There's an endless supply of very smart people out there who use known bugs to target public services.

Edit: I forgot DDNS, see below comments.

[-] spaghettiwestern@sh.itjust.works 28 points 1 month ago

You left out DDNS. It's free, easy to set up with lots of detailed guides online, and works as well as a static IP.

load more comments (1 replies)
[-] Vegan_Joe@anarchist.nexus 4 points 1 month ago

I appreciate your response!

It looks like a VPN is the option I'm leaning towards, but I'll definitely put the idea of buying a domain in my back pocket for a while.

[-] Saapas@piefed.zip 6 points 1 month ago

Some .xyz domains cost less than 1$. Mine is 0,85$/year

load more comments (5 replies)
load more comments (7 replies)
[-] xavier666@lemmy.umucat.day 42 points 1 month ago

wanted a free solution

ends up buying a domain

Welcome to the club, buddy!

[-] pineapple@lemmy.ml 16 points 1 month ago

Cheap domains are basically free though so it doesn't count!

[-] beirdobaggins@lemmy.world 6 points 1 month ago

Until you have dozens of them... Lol.

load more comments (3 replies)
[-] uuj8za@piefed.social 42 points 1 month ago

https://netbird.io/ for your own private network of trusted devices, it's free and doesn't require a separate Big Tech account to use (unlike Tailscale)

And then if you want to share Jellyfin with someone who isn't in your Netbird network... believe it or not, also Netbird

https://docs.netbird.io/manage/reverse-proxy

load more comments (7 replies)
[-] KairuByte@lemmy.dbzer0.com 26 points 1 month ago

Personally I didn’t want to have to hand out VPN credentials to everyone, so I went with a cloudflare tunnel with Authelia as the method of authentication.

[-] irmadlad@lemmy.world 15 points 1 month ago

+1 for Cloudflare Tunnels/Zero Trust. The free tier is more than generous for a homelab

[-] KairuByte@lemmy.dbzer0.com 9 points 1 month ago

Not to mention, the amount of data you can run through it is nuts. I’ve been running Stremio web through it for months without issue to watch content at work.

load more comments (16 replies)

Can I ask, how much of a limit does the free tier have on bandwidth if you're doing something like hosting Jellyfin?

[-] KairuByte@lemmy.dbzer0.com 6 points 1 month ago

My understanding is that there is no hard limit. At some point they will decide “this is business level traffic” at which point they will start harassing you to purchase a business plan.

That cutover point is unknown. I’ve never even seen an estimation of when it happens, so it could very well be the type of traffic instead of the amount.

They also only allow HTTP traffic for the free tier, which is another way they push you towards business tiers.

load more comments (3 replies)
load more comments (2 replies)
load more comments (6 replies)
[-] ThatFuckingIdiot@lemmy.today 17 points 1 month ago
[-] Vegan_Joe@anarchist.nexus 5 points 1 month ago

That is a new concept to me, but I'll definitely look into it.

[-] Pika@sh.itjust.works 8 points 1 month ago

it's actually the recommended way if you use jellyfin, theres a few security/privacy vulnerabilities with publicly exposing the jellyfin server anyway, they are being worked on but, the safest way to do it is just use a vpn regardless.

[-] frongt@lemmy.zip 4 points 1 month ago

Plus it enables you to access everything. If you have radarr or sonarr or whatever, you can get to those and add media while out and about.

Personally I use Mealie and pull up ingredient lists while I'm im at the grocery store.

[-] djdarren@piefed.social 5 points 1 month ago

Just be aware that if you want anyone else to connect to your Jellyfin, you'll still have to route it through a domain and reverse proxy, unless you're comfortable letting them log in to your tailnet.

It's a bit of a fiddle to set up, but once it's done it's quite satisfying.

load more comments (1 replies)
[-] keenwillow12451@lemmy.1095.me 17 points 1 month ago

@Vegan_Joe — if you’re still stuck, try this: install Tailscale → join your tailnet → expose Jellyfin container port 8096 as 443. That’s it. No nginx, no static IP hunting. I wrote a 3-command cheatsheet here https://cxgo.ai/l/5bwrT9m that I wish existed when I started fumbling with docker-compose overrides. Works on a $20 raspberry pi and a 2014 Mac mini, so your hardware shouldn’t matter.

[-] frongt@lemmy.zip 11 points 1 month ago

Yes, a VPN. And dynamic DNS if you don't have a static IP address.

load more comments (4 replies)
[-] Faceman2K23@discuss.tchncs.de 8 points 1 month ago

for a beginner with just a few remote clients, tailscale all the way.

though I still like doing it the old way with a custom nginx setup, fail2ban and a domain name, but its more work to make it secure and even then it's still somewhat of a liability.

[-] Decronym@lemmy.decronym.xyz 8 points 1 month ago* (last edited 3 weeks ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
CA (SSL) Certificate Authority
CGNAT Carrier-Grade NAT
DHCP Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network
DNS Domain Name Service/System
ISP Internet Service Provider
NAT Network Address Translation
Plex Brand of media server package
SSO Single Sign-On
TLS Transport Layer Security, supersedes SSL
UDP User Datagram Protocol, for real-time communications
VPN Virtual Private Network
VPS Virtual Private Server (opposed to shared hosting)
nginx Popular HTTP server

[Thread #41 for this comm, first seen 5th Jul 2026, 18:30] [FAQ] [Full list] [Contact] [Source code]

[-] ThePowerOfGeek@lemmy.world 8 points 1 month ago

An easy way? I guess the term 'easy' depends on your expertise with networking, firewalls, etc. Sounds like you and I are at about the same level there. In which case the answer is: no, there's no easy way from what I can tell. I've looked into it and it's a lot more involved than, say, Plex (because Plex does a bunch of the routing and stuff for you, but at a cost).

[-] tyler@programming.dev 5 points 1 month ago

Tailscale is incredibly easy. Install, start, sign in on both devices. Boom. Jellyfin from anywhere

load more comments (2 replies)
load more comments (2 replies)
[-] alexquiniou@lemmy.zip 8 points 1 month ago

I'm using wireguard with wg-easy. It's a gui that let you easely setup wireguard. My isp is giving a fixed ipv4. So i don't have to think about dns or other complicated things. I have Jellyfin and wg-easy installed on truenas as docker apps.

There are official app for any os you want.

https://www.wireguard.com/install/

[-] pHr34kY@lemmy.world 7 points 1 month ago* (last edited 1 month ago)

You can still just open it to the internet. Just do it on IPv6 instead. You won't find it by scanning IP ranges like they do on IPv4. You'll want to set up DNS for it though. Also get a free TLS cert from LetsEncrypt. It's a bit of work initially.

[-] frongt@lemmy.zip 9 points 1 month ago

Assuming their ISP and everything else supports ipv6. An even so it'll still be visible through scanning, through brute force, or if anyone is reading cert transparency reports anf scanning the domains that show up.

load more comments (2 replies)

Was going to comment something along the lines of “Inb4 someone posts that obscurity will keep you secure” but here you are. No, you won’t be secure just because it’s on IPv6. And TLS certs are open to the public, (they literally have to be, since any device attempting to access your server needs to be able to validate the cert) so bots will scrape them and instantly have whatever you made it for. So it wouldn’t even keep you obscure.

[-] paultimate14@lemmy.world 7 points 1 month ago

I ended up using duckdns for a free domain. It sucks that I had to tie it to a google account, and maybe one day this might be an area where I buy a proper domain instead.

I have a glinet Flint3 router that makes it easy to spin up Wireguard servers on it. It was a bit more finnicky, but eventually I was able to get into the advanced settings and configure the router to sync the dynamic IP with DuckDNS too.

So I have Wireguard on my phone and my wife's phone. We have one pair of close friends who have a connection on their router too (and vice-versa) and their own Jellyfin server.

[-] rtxn@lemmy.world 6 points 1 month ago* (last edited 1 month ago)

As others have said, Tailscale is the most pragmatic solution. It's a mesh VPN based on Wireguard. It's implemented in such a way that you don't need a static IP and don't need to open any ports on your firewall. The caveat is that you either need to register an account on tailscale.com (it's free for small-scale use) or set up a self-hosted alternative like Headscale on a VPS. Then you have to install the Tailscale client on each of the hosts you want to access and log into your account.

Tailscale nodes will be accessible using an internal, private address in the 100.64.0.0/10 address space. You can also set up a split DNS that allows you to access your hosts using a DNS name like hostname.your-tailnet-name.ts.net.

[-] awelo@tuiter.rocks 6 points 1 month ago
[-] MasterOKhan@lemmy.ca 8 points 1 month ago

I second this, if it’s only you that needs access then Tailscale will be all that you need. You can use Tailscale funnel if you want it to be available to the wider web, but then you have to manage SSL certificates and it is slightly less secure.

I would caution against port forwarding and leaving your server open to the wider web.

[-] Darkassassin07@lemmy.ca 6 points 1 month ago* (last edited 1 month ago)

You don't need a static IP, you just have to keep track of what your current dynamic IP is.

You can do this with either a free or a paid DNS service.

There are a few different 'free dns' services that will delegate a subdomain of theirs to you at no cost. Admittedly, I've never actually used one of these so their names escape me. Hopefully someone else can point one of those out if that's what you really want.


I purchased a domain via google domains, when they existed. It's now transferred to squarespace, because they bought out google domains a few years ago.

It was around $13/year when I first got it a decade ago. It's now around $28/year.

This allows me full control over the domain: I can use as many subdomains as I want to give each service I use it's own unique name. (Instead of using their own separate ports that you've gotta remember) My domain will also forward all inbound email to my gmail account; this lets me use email addresses like <servicename>@mydomain.example. This way, I don't share my real email and can immediately tell who sold my info to the highest bidder when I get spam. (I could also host my own email service if I really wanted, but I haven't bothered)

Add Cloudflare ontop (for free); and it can filter out known attacks, ddos attempts, geofence your services to regions you'll actually be in, provide/autorenew ssl certs for https, show you usage analytics, cache static data reducing server/network load, etc.

Ultimately, the paid option is well worth it IMO. $2/month (which I typically pay in 3-10 year blocks) is hardly anything.

/edit; vpns are good and all, but they require you to setup software on the remote device to connect to it, and that typically routes most if not all your traffic back to the vpn server then out to the internet. That can create speed/bandwidth issues.

A domain allows you to access your services from any Internet connection with 0 configuration on the client side. Just accessing it like any other website.

I also host a vpn directly from my network, that I access/find via my domain. This means I'm not dependent on a public service like tailscale, but can still add additional security to access private only services (stuff I don't expose to the open internet)

[-] Vegan_Joe@anarchist.nexus 5 points 1 month ago* (last edited 1 month ago)

As averse as I am to spending money on subscription services, having my own domain for less than 30 bucks a year might be worth it.

I think I'm going to try out the tailscale VPN route first before I fully warm up to buying a domain.

*Edit-You've definitely got me sold on getting a domain! Thank you so much for all the info!

load more comments (1 replies)
[-] terrifyingtuba@lemmy.world 6 points 1 month ago* (last edited 1 month ago)

Personally I purchased a domain, and use Caddy for a reverse proxy. My ISP gives me a static IP for free, but I don't think that makes a difference in this situation. Tailscale would be safer but requires more setup from friends. My friends seem to like how simple the setup is, and I also use requestrr so they can add movies/shows via a discord command.

[-] chellomere@lemmy.world 5 points 1 month ago

I use pangolin and subdomains on my domain. It works really well, and enables SSO login to all services on the network.

load more comments (3 replies)
load more comments
view more: next ›
this post was submitted on 05 Jul 2026
238 points (100.0% liked)

Selfhosted

61236 readers
205 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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

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

Questions? DM the mods!

founded 3 years ago
MODERATORS