Inspired by this comment to try to learn what I’m missing.
- Cloudflare proxy
 - Reverse Proxy
 - Fail2ban
 - Docker containers on their own networks
 
Another concern I have is does it need to be on a separate machine on a vlan from the rest of the network or is that too much?


Caddy or any other (reputable) reverse proxy. I think Nginx Proxy Manager would be best for beginner thanks to GUI.