this post was submitted on 05 Jul 2026
228 points (97.9% liked)

Selfhosted

60525 readers
985 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.

  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.

Resources:

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

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

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!

(page 3) 50 comments
sorted by: hot top controversial new old
[–] Morgikan@fedia.io 4 points 3 days ago

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.

[–] lokalhorst@feddit.org 4 points 3 days ago

What you want is Tailscale. The downside of Tailscale is that you have to connect to a VPN to access your services, the advantage - it is so easy to set up on the server it feels like magic.

[–] Croquette@sh.itjust.works 3 points 3 days ago

I have setup NetBird with Authentik. Netbird is on a VPS and authentik on my home server.

NetBird allows to expose a service through a subdomain. Or you can use the netbird client as a VPN and allow peer to peer connection.

[–] GeneralDingus@lemmy.cafe 4 points 3 days ago

I forward my port to my bastion host, and reverse tunnel to it when I want to access my stuff.

My router allows you to set a device in the DMZ zone which will let you use your routers IP as its address.

[–] Reannlegge@lemmy.ca 4 points 3 days ago

There are things like duckdns if you cannot get a static IP, but there are also things like wireguard.

[–] bloogoose@lemmy.zip 3 points 3 days ago

Look into nginx proxy manager. Pretty easy to setup and deploy.

[–] pHr34kY@lemmy.world 3 points 3 days ago* (last edited 3 days ago) (4 children)

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.

load more comments (4 replies)
[–] nfms@lemmy.ml 3 points 3 days ago

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.

[–] kokesh@lemmy.world 3 points 3 days ago

Domain and vps pointed to your ip. Or if behind cgnat reverse proxy to vps

[–] StarvingMartist@sh.itjust.works 3 points 3 days ago (5 children)

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

load more comments (5 replies)
[–] ohshit604@sh.itjust.works 2 points 3 days ago (7 children)

Device -> VPN Tunnel (ideally WireGuard) -> Home Router / Server.

The only port that needs to be opened is your WireGuard server which typically is :51820.

The issue with this is you have explain VPN’s and WireGuard to people which, in my experience turns people away as they see it as a hassle.

Alternatively buy a domain, setup DDNS so that your home IP is associated with your domain, setup a reverse proxy and open port :443 on your router however, I would suggest a blacklist-first approach and only whitelist the few known IP’s you can trust.

[–] dogs0n@sh.itjust.works 3 points 3 days ago

People's IP addresses usually change so that might be annoying keeping a whitelist up to date.

A good alternative is something like fail2ban to ban ip addresses that spam your server looking for a way in and potentially geo-restricting access to your country.

[–] FlexibleToast@lemmy.world 3 points 3 days ago (1 children)

Free vps in oracle cloud with Pangolin. Never have to worry about explaining VPNs.

[–] ohshit604@sh.itjust.works 3 points 3 days ago (5 children)

Free vps in oracle cloud with Pangolin

If I’m not mistaken I tried setting up pangolin to work along side my already running Traefik setup and it was just an absolute nightmare.

I just don’t have the time nor energy to reinvent my already running configuration.

load more comments (5 replies)
load more comments (5 replies)
[–] TrippinMallard@lemmy.ml 2 points 3 days ago

Netbird or tailscale

[–] muusemuuse@sh.itjust.works 2 points 3 days ago
load more comments
view more: ‹ prev next ›