I have run Home Assistant for ~9 years. I've done so with the core system in a virtual environment all along, and it's been great. I run my own local mosquitto server for MQTT in its own systemd service, bridged with one on my web server for remote stuff. You can do all this without any `curl | sudo sh` using excellent open source documentation.