Docker: HA or HA + HASSio

I’m a developer. Comfortable with python and linux. New to Docker, but comfortable learning.

I just installed HA via the docker install and have moved my whole zwave network to it. I’m in the process of setting up my automations. All good.

In the process I tried to run some ha and hassio commands. They don’t work. I then learned there is a separate set of code for running “supervised”. But this doesn’t run in the docker container. And perhaps running it in one was once but no longer supported?

This is all quite confusing.

Ideally, I’d like to run it easily in a docker container, with docker-compose, and then mirror that in other installs. I’d like to be able to get close to the metal, but don’t want to HAVE to do a whole bunch of complex docker stuff. (Which may be necessary for add ons?)

So the question: Before I get too deep should I bail on my install and redo with a normal home assistant install? It would be a bummer - my pi is set up all nicely now. But I don’t to keep pursuing the wrong path.

Insight appreciated!


Have you read this? This appears to have started when you tried to run ha commands, which are indeed supported as part of a Supervised installation, but it’s more important that you know (and maybe say) what you want you want out of a Supervised install that you couldn’t achieve in some other way.

Many people run a Docker install similar to yours and have no interest in a Supervised installation because they can do what they want manually. I personally run a Supervised install in a VM on an Ubuntu x86 box because I want to run other things on the machine and I appreciate the user-friendliness that Supervised brings. You’ll need to decide what’s best for you.

In the end, you can always pack up your /config directory and move it to a different install type, so you won’t lose anything by deciding later that you want to try something else.

1 Like

That was helpful - thanks!

To others running HA in Docker w/o supervisor - what’s your experience? Add Ons sound like an essential feature and at best they aren’t easily done in “HA on container”. Can you still use add ons? Is adding / maintaining a pain? Is it worth it or do I just switch to HA or HA Supervised outside of docker?

Addons are a feature of a Supervised installation, but they’re really just containers themselves that have a special relationship with HA that allows some additional useful functionality (such as Ingress, where you can easily tunnel to a web UI for an addon through the main HA interface). You can usually find many containers on Docker Hub for whatever third-party app you want, run one, and configure it as you wish. In fact, many folks prefer it that way because they have complete control over everything. Addons are in no way “essential”, and are mainly just a convenience.

I use a mix of each in my setup - several addons that are pre-configured to work well with HA, and a few standalone containers that I set up and configure myself. I find that to be the best of both worlds, but YMMV.

1 Like

Once again, very helpful. I’m starting to understand this better. Thanks Rob.

I tested all possible install methods (venv, container, supervised and HA OS) and personally I like the container (Home Assistant Core in docker, what you are running) “method” the most, because I hate automatic updates (supervised installs do this), I want to choose when I update what and I prefer the convenience of docker over a venv install. Maintaining your own containers is really easy, especially with a tool like portainer.

1 Like

I started on HA OS (I think this is the Pi image), then venv, then Supervised, now die hard HA Container (core on Docker).

I gave up on Supervised very very quickly because at the time it felt like I was giving up way too much access for ease-of-use.

I think as a developer that is comfortable with Linux, you will appreciate the learning that needs to be done around Docker infrastructure.

Definitely go for Docker-Compose out of the gate as it will make it really easy to change-deploy-test as often as you like.

1 Like