How about we start a thread based upon hard lessons learned?
One thing I can say with complete certainty; if you have the setup to run virtual machines, you really should when getting started with HA. Matter of fact, there’s probably few reasons not to host it on a VM indefinitely. I only wish I had thought of this when I created my VPN and PiHole server.
The main reason is the ability to create snapshots/checkpoints. Sure hassio lets you create internal snapshots, but that doesn’t do the underlying OS. When I start a new VM, I create a checkpoint even before the OS is installed. Then I install the OS and take a checkpoint. Then an OS update and checkpoint. Then install hassio and checkpoint. I go nuts with checkpoints. If I ever screw something up, or if I simply restore the checkpoint.
Right now I’m running two VMs. One for hassio and one for nginx. All of a sudden, I couldn’t browse internal sites with NAT loopback. So I just took new checkpoints and then applied old ones. The problem kept occurring, so I knew it was something else. A quick reboot of my router fixed it, so I restored my latest checkpoints and was back to work. I “fixed” my problem in 15 minutes without losing one iota of work. And I didn’t have to mess around with flashing SD or EEMC cards. Raspberry PI are great, but the flexibility of a VM just makes life a lot easier.