Why I Chose Home Assistant OS

For setting up Home Assistant, there are several choices: Home Assistant OS, Home Assistant Container, Home Assistant Supervised, and Home Assistant Core.

I chose Home Assistant OS for a few reasons.

Home Assistant Installation

First Choice

Home Assistant Container

For those that know me, you'd probably be surprised that I went with Home Assistant OS. I'm a tinkerer and like to have full control over my systems.

I originally did install Home Assistant Container. It's great: you install the container (I used Docker Compose) and then for the additional services you'd install (like Add-Ons in Home Assistant OS), you install those yourself as separate Docker containers.

This was right down my ally.

Other Options

Home Assistant Supervised

I did play around with Home Assistant Supervised for a while. It's similar to Home Assistant OS except that instead of using their OS image, you build your own Operating System (using their supported OS: Debian Buster).

Pretty much everyone that supports Home Assistant (like on their Discord) recommends not using this method as it's prone to breakage and difficult if you are not an expert with Linux, Networking, Home Assistant, and Docker.

Home Assistant Core

With this method, you're running the bare Home Assistant Python code in a Virtual Environment (venv). This never seemed appealing to me.

The Change

One day I was thinking about how Holly (my wife) might manage this stuff if something were to happen to me. And I thought about how difficult it would be for something who isn't a Linux admin and doesn't know Docker to manage the Container Installation.

So, to make sure that she could continue to use Home Assistant and pretty much manage it herself, I decide to switch from the Home Assistant Container install to Home Assistant OS.

Procedure

After installing Home Assistant OS on my server, I copied over the /config directory (including the dot files like .storage) from my container install into the /config directory on the new server.

Then it was a matter of installing the Add-Ons for each of the other services I used: Assistant Relay, MariaDB, Mosquitto Broker, Studio Code Server, TasmoBackup, Unifi Network Application, Vaultwarden, and Zigbee2MQTT. In some cases, it was as easy as copying over a config file from my old server to the new one. In other cases, I had to use my old configuration to go through the Configuration panel and manually enter the information to set up the Add-On. All in all, it took me about a day (probably just a couple hours) to get completely set up on the new server.

Conclusion

Every once in a while, I wish I had the flexibility of the Container install method. But I sleep well at night knowing that if something were to happen to me, Holly would be able to figure out how to manage Home Assistant and keep it up to date.