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.
WireGuard
Yes, a VPN. And dynamic DNS if you don’t have a static IP address.
To be clear, your suggesting I set up my home computer as a virtual private Network server that I would connect to from the TV or device outside of my home network?
Yes, it works great for me. Probably not for a TV though, for that you’d probably need some travel router VPN client. But I don’t know how often you’d be at a random TV and need to get to jellyfin.
Got it! I think this is the plan of attack I’m going with
Yeh, exactly.
And the “dynamic DNS” part handles your public IP address changing with 0 pain.
You either buy a domain (like example.com), or there are free domain name providers that give you a subdomain (like mycooldomain.example.com) of one of their domains.
You then run an additional service on your home server that checks what the current public IP address is. If it changes, it notifies the DNS responsible for your domain/subdomain, which then points to your new public IP.
To connect to your VPN, you only ever care about “mycooldomain.example.com” and never the underlying IP address.…
As long as your ISP isn’t running CG-NAT of course 😵💫
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.
Tailscale. It’s free.
Something about Tailscale rubs me the wrong way. That “free” aspect, specifically. No company ever runs a free service without some sort of compromise somewhere.
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.
Currently I’m using tailscale. I like it but often switching IP address if I’m at home and I can’t use my normal vpn on it. Plus, I’m excited to learn about DNS and cloud flare. Its just very overwhelming haha
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.
Or head scale if you don’t want something you don’t control that requires an account with google/apple/microsoft
Headscale is great but requires port forwarding which, aside from having its own iasues, is something op wants to avoid.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DNS Domain Name Service/System ISP Internet Service Provider Plex Brand of media server package VPN Virtual Private Network VPS Virtual Private Server (opposed to shared hosting)
[Thread #41 for this comm, first seen 5th Jul 2026, 18:30] [FAQ] [Full list] [Contact] [Source code]
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.
You don’t need a static IP, you just have to keep track of what your current dynamic IP is.
You still need a public IP address. More and more often, IPv4 services are provided behind CGNAT, which won’t be able to work as you describe.
If you don’t have a public IPv4 for your LAN you can use IPv6. Or, you can reverse proxy your services through a gateway with a public IPv4.
I use a a reverse proxy (Pangolin) running on a VPS. A Newt tunnel connects my LAN to to Pangolin, exposing my local services via subdomains.
/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.
Tailscale, ZeroTier, and other similar services generally establish direct tunnels between devices, without a separate VPN server. They use a central service merely as a sort of common meeting point (STUN/TURN) for the devices to figure out how to establish direct tunnel(s).
Fair points.
I’ve been lucky enough to have never been behind cgnat, so I keep forgetting about it.
My bigger concern with tailscale is being required to install software on the client. Not every device I use, I have permission to install a vpn client, nor would I want to.
For example, I have a fileshare using Filebrowser where I store work related files that I don’t want to loose access to or need access to from multiple machines (non proprietary info, stuff IT/MGT wouldnt get mad at me for ofc. I’ve actually cleared it with my managers, so no worries). That’s also a handy way to (temporarily) share large files with people or provide a way for friends to upload large files to me.
I also like to access my emby server (using sufficiently limited accounts), from things like the TV in the work break room, or a friends PC while I’m visiting.
Tailscale is a hurdle that I just don’t need/want.
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!
Glad I could help. I’m not always immediately available, but I don’t mind answering questions if you run into troubles. Just send me a DM and I’ll do what I can. :)
I mean not for free, but I did it for cheap. A good domain can cost you $5 a year, and you simply route your jellyfin to a sublevel like watch.mydomain.com
Fun part is you can also route your sonarr like sonarr.mydomain.com
Any suggestions on where to start when looking into buying and setting up a domain?
I’ve been with NameCheap for over a decade. They’re a relatively quiet company that’s been around a while.
They’ve never done anything to make me want to change providers. Have my email through them as well. Good uptime. Ok-ish prices. Good customer service the one time I’ve needed it. Web site takes some getting used to, but it’s also never changed since I started using them.
Only thing they did once was lock me out of my account with endless CAPTCHAs, even with 2FA enabled.
Eventually they fixed it
A cheap way to start is noip.com. You can get a domain name for free, you just need to check in every 3 months to say you are still using it. It’s big enough that many routers support it.
After 2 years of checking in every 3 months I paid for their next tier of service where you don’t have to check in and get multiple domains etc. So their free service marketing worked.
I’d recommend buying a domain through Cloudflare. Once you have one, you can create subdomains and point them to services running on your home server. Cloudflare’s dashboard makes the DNS side pretty straightforward.
I mean I cheated and used chatgpt to help figure it out. But it’s more or less 3 programs max running on whatever server you’re using and using the cloudflare UI to redirect the traffic to the right place
There are things like duckdns if you cannot get a static IP, but there are also things like wireguard.
since you’re a jellyfin user I’ll give you the best solution.
expose ports 80, 22, and 3306 of your server to the internet.
better yet, just make a DMZ to your server from the internet.
then you can stream, ssh, and query your database from anywhere in the world.
Protip: Don’t fucking do this
protip protip:

I’m tired of this same exact question being asked over and over and over again. so every time it’s asked I’m going to tell them to expose everything to the internet.
if you can’t learn to search and solve your own problems you kind of deserve the obtusely wrong answers.
Then ignore the post. I hope you never need to ask a question to someone as disgruntled as you in the future. What an asshole.
Picture anything you’re not skilled at. You’d probably ask someone who is skilled at said thing about a problem you have. Now imagine them responding to you like this.
Then ignore the post.
hard to do that when this question is posted twice a week.
I hope you never need to ask a question to someone as disgruntled as you in the future. What an asshole.
Woe is me! you know what I do? I use my eyes and brain to read and learn. I search for my question first before wasting the time of others. why do you think that is? probably because you learn more about something by investing time and effort into a topic you’re unskilled at.
Picture anything you’re not skilled at. You’d probably ask someone who is skilled at said thing about a problem you have. Now imagine them responding to you like this.
hard to picture that because when I am unskilled at something I teach myself to be skilled. I do this by reading, observing, and trial & error.
I get it, not everyone is as amazing as I am. But the bar is pretty low since this question has been answered a dozen or more times not only on this community but on hundreds of other communities. there is literally no good excuse to not search for your solution and learn from it.
I built my first PC by myself. no documents. no help. hell it was just after dialup was a “thing”. I burned up a few components in the process. guess what, I taught myself how to fix them too. I went to the library, I read books, took notes, did the things. I learned how to read schematics, I learned how to salvage components, learned a lot.
I think you can too, if you weren’t so lazy looking for the easy answer.
Not everyone has the luxury or capacity to research and learn. So if you have a health problem you self diagnose and give yourself treatment at the hospital? I’m sure those docs get asked about the same problems all the time. And yet, they don’t turn you away because they have seen that problem too many times.
Built my first pc around the same time, and I still researched and asked for clarifications when needed.
I think you just have an issue accepting that others are not in the same situation or as capable as you. Some people have much less free time. Less tolerance for error.
Let’s say your engine costs 25k to rebuild. You’d do that yourself? Sans the labour, 10k in parts. You’re okay with not having a vehicle for potentially months? You’re okay if you happen to misunderstand an instruction or forget something and spend all thy time getting it back together advancing the thing explode when you get it all together?
You seem to think quite highly of yourself. Your comments just reek of narcissism.
Not everyone has the luxury or capacity to research and learn.
bullshit excuses.
So if you have a health problem you self diagnose and give yourself treatment at the hospital?
I can diagnose, I’ve read medical textbooks and have researched. I have even performed minor surgery on myself to remove a cyst from my thigh about the size of a grape. I taught myself how to properly suture for that one. I don’t recommend it though. cyst’s can actually wrap around blood vessels which when burst or cut can make you bleed out quickly. having a cauterizing tool helps mitigate this. you can DIY with a scalpel and an induction source to heat the tip of the blade (ask me how I know), though most surgeons use electric ones these days that use plasma to burn the flesh away. you can actually buy them for pretty cheap these days.
I’m sure those docs get asked about the same problems all the time. And yet, they don’t turn you away because they have seen that problem too many times.
doctors take a Hippocratic Oath. Tech workers don’t, so your analogy falls flat.
Built my first pc around the same time, and I still researched and asked for clarifications when needed.
good for you. sounds like you had better opportunities than I did. How did you put it? “Not everyone has the same luxury to research and learn.” Sorry, paraphrasing.
I think you just have an issue accepting that others are not in the same situation or as capable as you. Some people have much less free time. Less tolerance for error.
how presumptuous. you don’t have the time or tolerance for making mistakes, so you’re going to waste the time and effort of a community and ask the same question repeatedly? compared with that perspective, I sound less like an asshole. and I am an asshole!
Let’s say your engine costs 25k to rebuild. You’d do that yourself?
of course I wouldn’t! $25k will buy a new car. I only spent $13k on my current car.
Sans the labour, 10k in parts. You’re okay with not having a vehicle for potentially months? You’re okay if you happen to misunderstand an instruction or forget something and spend all thy time getting it back together advancing the thing explode when you get it all together?
I see what you’re trying to do. the difference is, I would be paying a mechanic to fix my car. I’m not asking them how to fix it, or why it needs to be fixed. nobody is paying anyone on this community. maybe that’s the problem. maybe if we charged people to ask questions they might be more inclined to see if the question has been asked already…
You seem to think quite highly of yourself. Your comments just reek of narcissism.
funny! I’m super humble about myself IRL. I don’t talk about myself or my accomplishments at all, except when it comes to shining a light on lazy people who just want the answers spoon fed to them. y’all aren’t babies or children anymore. the internet exists and is a treasure trove of information. think critically, ask yourself more questions than others. reach out when you don’t understand something.
it’s not hard, but I guess it is when your expectation is that people should just help you because you want it.
I only read your first quote. I didn’t realize you had the capacity to be in every persons shoes, ergo have total understanding. If you can’t see how fucked up that is, I’m just arguing with a narcissist and there’s nothing I can do to open your view so I cease my comments here.
The responses I received were exponentially more helpful than scouring for the information myself.
Everyone here had experience and expertise that I did not, and I had a working solution running on my computer within 10 minutes of asking.
Part of the purpose of a community like this is evident in posts like this.
Your response, though funny, is damaging to the community, and unhelpful at best.
I understand where you were coming from, but please don’t.
The responses I received were exponentially more helpful than scouring for the information myself.
lazy people being lazy.
Everyone here had experience and expertise that I did not, and I had a working solution running on my computer within 10 minutes of asking.
but do you actually understand the solution you used or did you just “follow the recipe”. knowing how to make brownies is nice, but knowing why brownies brownie allow you to make a better brownie.
not saying don’t ask questions, but asking less generic questions help build a stronger community. Questions like, “what are the benefits to exposing jellyfin publicly using tailscale vs just opening ports?” or “how does tailscale protect my private network from attacks when it’s used to expose jellyfin publicly?”
Your response, though funny, is damaging to the community, and unhelpful at best.
can’t be any more damaging than asking the same question 300 different ways because “The responses I received were exponentially more helpful than scouring for the information myself”.
we’re not your LLM agent. we’re not your search engine. we’re a community with experience and opinions. use us for that.
Go back to your Linux forums or whatever dark hole you crawled out of.
Did your mom ever tell you if you have nothing nice to say, don’t say it at all?
Nah, I’m just confused about if this community is about asking the same question over and over or not. maybe it’s about sharing AI generated slop projects instead? nah couldn’t be that either. I know! it has to be the community to shit on anyone who uses Plex!
Did your mom ever tell you if you have nothing nice to say, don’t say it at all?
she did, but then again look at where that got us in the world today.
I bet you don’t even know what the OSI model is.
Lol the OSI model? Weird flex. I am a senior network engineer by trade and manage global routing and security for large companies, so I am definitely familiar.
This is how I would have done it in 2001.
It is my understanding that the only reason to go this route in this day and age is if you prefer to survive off the tears of cybersecurity professionals.
who needs cybersecurity? nothing bad should happen.

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.
If the goal is doing this in a simple fashion, then use Tailscale funnels (https://tailscale.com/docs/features/tailscale-funnel). Funnels automate the process and act as a reverse proxy into specific servers within your tailnet.
The downside is there is no authentication to funnels, so whatever you’re running (Jellyfin in this case so that’s not an issue) needs it’s own authentication setup. You might consider running fail2ban on that machine and have it watch for login attempts, but otherwise that is the simplest setup I think you could do.
Used to have a tool specifically to route my dynamic IP to something static, without buying a domain name, back when I first hosted a website on my own regular home PC as a teen called “No-IP.”
Not sure if it’s still a thing.
Free ones are less common now (no-ip went paid.) Afraiddns is still free but requires regular account logins.
@Vegan_Joe
try tailscaleI 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.
This is how I started.
I have a dynamic IP and a router provided by my ISP. IP assignations, DHCP, are managed by the router. I went with DuckDNS for a free DNS service. Select a name and you get a myname.duckdns.org that you need to assign to your dynamic IP. duckdns has instructions to create a cronjob to update your dynamic IP on duckdns.org. (Routers come in all shapes and configs, chances are that this won’t work for most people) On the router, I assigned a static IP to the server hosting Jellyfin, in case of a reboot Jellyfin would always have the same IP. On the Ports page I opened up the default port for Jellyfin at that IP. I could then access Jellyfin outside of my local network using myname.duckdns.org:1234
This is not what I have right now, but it helped my get started.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.
@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.











