I mean, if you're problem is just remembering to type "10.0.0.100:8080" you could just have browser bookmarks. But that's not very selfhosty. 😁
Personally, I've got a bit of #1 and #2 going on.
I've got Nginx Proxy Manager in docker that rev proxies pretty much everything and adds SSL on top. I am running an inside DNS zone, so I have a bunch of CNAMEs that all point to the host running NPM. Lastly, I'm using Dashy as the front end to it all.