Unpopular opinion:
For self-hosters, you don’t really need ngrok or Cloudflare Tunnel.
Just enable Tor HiddenService and expose your server through an onion address.
Tor will randomly generate a domain for you.
That alone can work as a form of NAT traversal.
After all, Tor has a higher barrier to entry, so fewer people use it.
And since onion addresses are ridiculously long, anyone trying to attack you would first have to find your “home address” in the first place.🥴