HASS.IO inside docker?

Hi Community

Do I need Hassio and if so, is there an easy way to run it inside Docker ?

Been running HASS/HASSIO for a while is now beginning to understand a bit about how hassio works, and it seems pretty smart :wink:

I have had a few SD cards die on me, so now I have taken the time to move my HASS installation to a computer with docker, and run it all in containers, together with my other small projects.

My plan is to use docker-compose, with data external to docker. And it was pretty easy to make a configuration and get HASS up and running. And it was fun to see, that it found all my Ikea, Sonos, Phillips, ESPHOME objects - still need to get my USB-zWare stick moved over to get the rest.

But here I was hit by the absence of hass.io :wink: , and after a bit of reading I think I have come to this conclusion.

In a normal hassio image, there is the ‘host’ setup, where hassio/supervisor ‘image’ is running, and with some sort of docker setup, runs the other ‘add-ons’ here in containers. Hope this is close to being right.

And what I understand from my reading, it should be possible/easy, when building your own computer with docker, to run the ‘supervisor’ in the hostsystem (by installing a few add on tools), and then in docker, be able to have hass.io run the add-ons.

But, as I understand, here haas.io is installed outside of docker, in the ‘host’. I would like a setup, where the supervisor image and all other images are running inside docker/containers.

So, to the question.

-Is it possible to have a setup where all hassio elements are running inside docker/containers ? Maybe grabbing a ‘supervisor’ image from hub.docker.com and when it boots up, have it spann new/needed containers (with node-red, esphome,…).

-Or, is there no real need for hassio ? If you have docker, and a docker-compose, then it should be fairly easy to define needed ‘adds-on’ like node-red, esphome,… (and maybe this is also the conclusion from the work done by gcgarner/IOTstack, where it looks like docker-compose is used to define and launch the ‘add-ons’ that hass.io would do).

Looking forward to be enlightened :wink:

/Joern

Hass.io is just a way of installing/running Home Assistant. As you mentioned it’s really a supervisor system that uses docker behind the scenes to allow easy installation/upgrade/add-on installation/etc. You should get used to thinking of it that way. It, in fact, just installs the same docker container you would do if you wanted to set it up yourself.

You don’t need hass.io - you can get all of the same functionality by running just running the Home Assistant docker container and installing other docker containers yourself to achieve the same thing.

Having said that, you can get the best of both worlds. You can install HA with hass.io along side other stuff on a a generic server. This is how many of us run. I have an Intel NUC running Ubuntu and I have hass.io/Home Assistant running along with about 8 other home server-y things in other docker containers.

Home assistant provides installation instuctions for this here:

Hi Steve

Thanks for your reply.

Took another look at the script, and I can see that I’m wrong. The supervisor is also running inside docker.
Removed all my containers and images.
Ran the commands as showed - and hassio is up and running inside…
too easy :wink:
Thanks.

This leaves two questions:

  • Where are my hass data stored now ? inside the containers, so when they die my data dies ?..
  • I tried to install esphome - added the https://github.com/esphome/hassio to the repository, but the button goes red… might be a issue with the network…

I will look into this to night… unless some one has the answer right here :wink:

Thanks.

/Joern

It should be in /usr/share/hassio/homeassistant/although I am not 100% sure as I changed mine at install to be in the same dir as the config for all of my home server configuration files.

  • Where are my hass data stored now ? inside the containers, so when they die my data dies ?..

All of your persistent data is stored in your main config directory. Containers are disposable.

That’s the repo that I"m using and it works fine for me. If you’re saying that the repo is successfully added and the puzzle piece for each new addon is red, that means that it’s not available for the platform you’re using (it’ll say that when you hover over it). What are you running Home Assistant on?

HI…

Have been clicking around, and now it is working.
Got ESPhome installed…

Thanks for you help and support

/Joern

Hi steve. Ive used hassio on a raspberry pi till now. Now I want to migrate to docker on Windows. Ive successfuly inataled home Assistant on docker. But i want hassio, not homeassistant. Because of the addons… How can I do that? Can you explain me please? Or someone who know… Thanks

Don’t forget that ‘HassIO’ no longer exists, it’s now just called ‘Home Assistant’ and does include the add-ons. What was previously ‘Home Assistant’ (without add-ons) is now ‘Home Assistant Core’

Sorry, I have no idea how to install the product formally known as Hassio on Windows… The only thing I know about is the “Generic Linux Install”

And Also, what @sparkydave said is true… Hassio was renamed “Home Assistant” and what you installed in Windows is now called “Home Assistant Core”

Hi. Oh. Ok. Whats the best way to install Home Assistant then? I want to use a more powerful hardware, so I can have camera setup, etc. What do you suggest? Whats the best setup? Run Home Assistant inside a linux vm on windows? Or is there better ways?

Okay. Thanks. What do you suggest me? I want to have a better hardware so I can have other services running. Run HomeAssistant inside a linux vm on windows 10 is good? Or bad idea?

I personally run Ubuntu / Home Assistant (generic Linux install) on an Intel NUC.

If you want to run it on a Windows machine I guess you could do the same install as me but in a VM on the Windows machine… I don’t have much experience with VM’s.

Unless you really want Windows underneath for some reason I’d just go the route I took. My machine does CCTV recording etc as well

Ok. Thanks. You have ubuntu with gui or only with command line?

I went with the GUI version simply because I wanted to play with Linux a bit while I was at it but there is no need for HA, but it could be handy depending on the other software you choose to run in the background. Currently my machine only runs HA and various add-ons (for CCTV etc.)

Ok, cool. I think I will give it a try with GUI. For now I will use VM and try to setup all. Then I need to buy some hardware to keep it running. For now I will test it this way. Thanks for you help and time :slight_smile:

So would it be a justified from the above discussion to conclude that installing home assistant on a virtual machine is usually a better idea than installing it in a docker container?

Of course, there are many ifs and buts, but it seems to me that with the general trend going from VMs to docker, it seems worth mentioning that sticking to the “old fashioned” VM deployment will make life a lot easier for a home assistant beginner.

At least for myself, being about where @joernborup was back in November, this seems to be true. Or am I still missing something?

The topic of this thread is nonsense. It makes as much sense as “House inside room?”

No, because the question is flawed. It performs a comparison based on misused terminology.

I suggest people familiarize themselves with the table in this post to help prevent creating word salad like "hass.io in docker" and comparing VM installations (multiple types) to docker installations (one supported standalone type, plus automatic inclusion in two other types).