Nginx Proxy Manager (NPM)
The host machine is running many services (Jellyfin, Filebrowser, etc) that need to be exposed to the internet securely.
Instead of portfowarding each service individually and configuring HTTPS on each, NPM acts as the entire point into the local network and takes care of routing to the appropiate service.
NPM simplifies managing SSL certificates and network configuration.
The gist is:
- The home router port forwards 80, 443 to the equivalent ports of NPM
- NPM has configuration that says which service (and local port) to send the request to
This setup is pretty standard and is known as a "Reverse Proxy"
Configuration is managed through NPM's web ui
Instructions for setting up NPM with cloudflare certs: https://medium.com/@life-is-short-so-enjoy-it/homelab-nginx-proxy-manager-setup-ssl-certificate-with-domain-name-in-cloudflare-dns-732af64ddc0b