Each room has one ZigBee thermometer and thermovalves for the heaters. Home Assistant with an automation open and closes them based on the thermometers.
Also in HA, I have a schedule for the “comfort” temperature so that the boiler can be turned on and off accordingly.
See https://wiki.gardiol.org/doku.php?id=homeautomation%3Aheating for the detailed setup.
Nginx is the way to go. Just figure that out and you are all set.
No, nginx proxy manager is not the only way, you can also use nginx directly on bare metal as it is intended to.
Maybe this link could help you https://wiki.gardiol.org/doku.php?id=selfhost%3Anginx