I have an openwrt router at home which also acts as my home server. It’s running a bunch of services using docker (Jellyfin, Nextcloud, etc.)

I have set up an SSH tunnel between my openwrt router and VPS and can access jellyfin successfully.

I understand that I need to set up a reverse proxy to access multiple services and have https.

But I’m confused if I should set up this reverse proxy on the VPS or on the router itself. Is nginx the easiest option? Should i add subdomains in cloudflare for every service?

Pease don’t recommend vpns since they are all blocked where i live (wireguard, tailscale openVPN, etc.) I’m limited to using ssh tunneling only.

Thanks

  • mFat@lemdro.idOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 months ago

    Thanks I understand the theory behind this but I can’t get it to work.

    I have a jellyfin.mydomain.com subdomain pointing at my VPS ip. On my home server I have Nginx Proxy Manager listening to 192.168.8.1:8998 (http) and 8999 (https) From my home server I forward port 80 from the VPS to local port 8999 like this:

    ssh -R 80:127.0.0.1:8998 root@vps-ip
    

    Then on npm I define a proxy to localhost:8096 (jellyfin) for any traffic sent to jellyfinn.mydomain.com.

    But I can’t access jellyfin remotely.

    • lemmyvore@feddit.nl
      link
      fedilink
      English
      arrow-up
      4
      ·
      8 months ago

      Check all the steps individually then:

      • check that the ip resolves to the VPS IP at the location you’re testing this
      • set up the tunnel to bypass the proxy (connect it directly to jellyfin)
      • check that jellyfin works directly
      • check the proxy directly, with curl connected to the proxy with the header “Host” set to the domain
      • check that the VPS firewall didn’t block port 80
      • normally you wouldn’t be able to forward port 80 with a normal ssh user but I see you’re logging in as root so it should be working