Great write-up, thanks for sharing this! One thing I would add: a self-signed certificate is not adequate for password transmission. In some ways, it's even worse than transmitting over clear-text http because it provides an illusion of security. Any actor on your network can man-in-the-middle, provide their own certificate, and you'd be none the wiser. I'd suggest provisioning LetsEncrypt leaf-node certificate on a…
The hassle of forwarding the ports for their verification and having to do it so regularly (3 months) is a real pita.
I used to just pay for yearly certs for this reason but prices have gone up so now I'm back to using self signed. I'd love to set up my own PKI but the tool chain is so complex and many OSes like Android allow apps to opt out of user -added root certificates which makes it very hard to deal with.