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.
Either you run the RP in the VPS and point to the ips on your server or you run it on the server and access it like you are accessing Jellyfin.
Easiest option is a container with Nginx proxy manager (imo) with NPM you can get free let's encrypt certs, but be aware, in case you want automated certificates, NPM will need to run on the machine pointed to by the DNS (in your case, your VPS I guess)