Ideally K8s w/Flux is pretty great for this, as I can just make a change in SCM and then let it rip. Hardware dies? Drop in a new one and keep going. Backups handled by the larger system, instead of individual computers.
Additionally, my VPN/DNS and other networking setups with CloudFlare zero trust and MetalLB make it really easy to securely access it from anywhere for whatever service I need, with minimal fuss.
But... getting the USB parts working with K8s is so annoying, as their assumptions around using Docker or Containderd are pretty fixed. Obviously I need to set an affinity/requirement of the node having the USB device, but even after that it just doesn't seem happy. I can see the device in HA, but it never connects.
I'm running HA in docker-compose (no USB device needs in my use case) , but being able to have docker-compose be the default tool that handles all of the external settings means I get something pretty close to Infrastructure-as-code, and that is nice for piece of mind and simplifying how the backup-and-restore process will work.
Plus I can be very deliberate about the pace at which I upgrade HA versions.