Hello, I use to have my Jellyfin server set up with a reverse proxy with Nginx and DuckDNS. Now that I have SparkBox I was wondering how, or if it's possible, to install my own container for DuckDNS Updater and have a similar set up like I use to have only all in SparkBox. OR if there is a better way to set a reverse proxy in SparkBox, I've seen Cloudflare tunnel as an app to download, so should I try that method? I plan on sharing my Jellyfin server with other family members so I don't want to go through the tailscale route. I have my own DuckDNS domain. And I like running everything through SparkBox since it all goes through my VPN. Any tips out there?
8 replies
Chris wrote:
Good news - you do not need to install your own DuckDNS container. SparkBox already ships both halves of this: Nginx Proxy Manager is built in (same idea as your old Nginx), and there is a Cloudflare Tunnel app too. Since you already own a DuckDNS domain, NPM is your route - you already found its login in Settings Service Passwords. In NPM, add a proxy host for Jellyfin pointing at sb-jellyfin-media:8096, then set DuckDNS to your home IP and forward ports 80/443 to the box. The Cloudflare Tunnel is even easier (no ports to forward, works behind CGNAT), but it cannot use a free DuckDNS name - Cloudflare has to manage the domain DNS, so that route means moving a cheap domain onto Cloudflare.
SSJNobleSix wrote:
Thanks for the advice. Is there a page or a video or something where I can read step by step on how to access my jellyfin server through cloudflare tunnel? Something super easy and helps em set everything up from scratch?
Chris wrote:
Great question — yes, there is a proper step-by-step guide: https://tomsparkbox.com/guides/cloudflared-setup.html (the Cloudflare Tunnel app links to it under Settings → Apps). The short version: make a free Cloudflare account, add a domain you own, create a tunnel there and copy its token, paste it into SparkBox's Cloudflare Tunnel app, then on Cloudflare's side point jellyfin.your-domain.com at sb-jellyfin-media:8096. One honest heads-up before you invest the time: the tunnel needs a domain on Cloudflare, so a free DuckDNS name can't be used for it — that route means moving a cheap domain over. If you'd rather keep DuckDNS, NPM is the path, and I can walk you through that instead.
SSJNobleSix wrote:
Ohh, how can I move forward with DuckDNS and NPM?
Chris wrote:
Happy to — since you already own the DuckDNS name, here's the whole path in three pieces. First, keep DuckDNS pointed at your home IP: whatever updater you already ran (router or your old box) keeps doing that job — SparkBox doesn't ship one. Second, on your router, forward ports 80 and 443 to this box's local IP. Third, open Nginx Proxy Manager at the box's IP on port 81, sign in with admin@sparkbox.local (the password is in Settings → Service Passwords), and add a Proxy Host: Domain Names = your DuckDNS address, Forward Hostname = sb-jellyfin-media, Forward Port = 8096. Then on the SSL tab, request a new Let's Encrypt certificate and tick Force SSL. Test from your phone on mobile data — https://your-name.duckdns.org should open Jellyfin. Happy to slow down on any one of those.
Chris wrote:
Checking in on sharing your Jellyfin server with family: did the DuckDNS and NPM route get you connected, or did it stop at a particular step? Please paste the screen or message you see now. Our team follows each support thread through to a fix. — checking in
SSJNobleSix wrote:
i ended up going the cloudflare tunnel route.
Chris wrote:
Glad the Cloudflare Tunnel route worked out for you — thanks for closing the loop.