I’m trying to set up a Jellyfin server, with a reverse proxy so I can access it via external networks. I can’t get the reverse proxy to work no matter what I try! Tried caddy, nginx, and apache2. My system is Ubuntu 22.04 arm64. Would anyone be willing to give me a pointer or even help me set it up? Could totally compensate for the effort haha.
Question, what is your network topology?
I assume you have a local DNS running to route your “local” requests…
Can you connect to jellyfin directly? When you try to connect to the nginx proxy. Do you get the nginx landing page?
I have gone through this whole fiasco recently and maybe able to help.
How exactly do you plan to use a reverse proxy without a domain name? By it’s very nature, a reverse proxy by default works with a domain/subdomain name.
I’d suggest you look up some docs/tutorials about DNS, Web server, Reverse Proxy etc. Looks like you got no clue on what you’re doing.
Yes. I have a .us domain, and I have a domain with DuckDNS but I wasn’t able to get those working either. I just meant if possible I’d like to be able to still connect in the browser via ip instead of having to use the domain.
Is your public ip dynamic or static? Does your domain point to your proper public ip? Do you have ports 80 and/or 443 open to the public? Does your reverse proxy listen to your publicip:80 and 443? Is your connection under a CGNAT?
You leave a lot of questions unanswered. Just stating ‘it doesn’t work’ doesn’t help to troubleshoot.
In my setup on Linux Mint with Jellyfin and duckdns, Simply installed caddy reverse proxy and added Dns domain (with https://) and reverse proxy of my local ip
Try nginx Proxy Manager or cosmos
For your reverse proxy, you do want to have a domain and point it to the IP of your VPS with an A record. This is done in the DNS section of your domain provider. Basically, publish a DNS record that says jellyfin.yourdomain.com has as a target the public IP.
Use apache2 as a reverse proxy. You basically need to copy the files in the Jellyfin documentation. But start by just creating a reverse proxy file, which you can use to get the Let Encrypt certificate for your domain.
Enable the site this file first:
ServerName jellyfin.yourdomain.com ProxyPreserveHost On ProxyPass /.well-known ! ProxyPass / http://localhost:8096/ ProxyPassReverse / http://localhost:8096/
Try to reach it from the browser using the subdomain. Let me know if you need more help after that.
The easy way is using a SWAG Docker container.
Edit: I should mention that I’m not trying to use a domain or anything
Sorry how are you trying to access Jellyfin here?
-
http://VPS_IP:8096
-
http://DuckDNS_address:8096
I’ve tried both.
-
Why do you need a reverse proxy? You don’t need one to access Jellyfin externally. People use them to simply fit access when running more than one service.
I’d get it up and running locally first before trying it on a vps.
I can get it running but I still can’t access the server via http://localip:8096 on an external network.
I have Jellyfin working just fine with nginx proxy manager. Let me know if you need me to help.