Hello,
Is there a way to install Home Assistant with the supervisor and add-on store manually without the hass.io script which sets everything up in docker?
I’ve used the instructions on the website to install Home Assistant Core but would like to install everything else manually.
I currently run OpenHAB and wanted to experiment with HA.
I didn’t install HA core in docker. I believe that’s what the hass.io script does. I ran docker ps and HA was one of the images running alongside supervisor, hassio-coredns and hassio-audio.
If you installed Home Assistant Core you have all the components to run HA, everything else is additional. Why do you not want to use docker?
HA supervisor is a docker container that manages Home Assistant Core and the other docker containers. Add-ons are all docker containers, you can’t install them in a virtual environment.
If you do it all without docker you can’t do addons. Supervisor is irrelevant without docker. An addon is typically a custom component and additional software and libraries wrapped in a docker container.
You can usually find the underlying custom component, and install the same software yourself manually. and Docker containers are just images built via a set of linux commmads, you can look in the hassio addons repo on github and check it’s Dockerfile to help understand what needs to be done manually.
So you can still do things manually you just have to do more work. Docker really does make things a lot easier if you are lucky to find an already built image. And without it dependencies and conflicts can become a nightmare pretty quickly. A 3rd option is to do docker without the full-on hassio experience. That is the path I have chosen. I use the HA docker container, and rely on custom components and install the underlying software from images on dockerhub. If one isn’t available I will craft my own image or go without those features.
That’s great.
I guess I could run just the supervisor in docker if I have to. I don’t like running docker images (yet) until I am able to build my own images. I am still learning. I am also concerned about the overheads on the CPU and memory.
I’ve taken another look at the addons and they seem to be other applications such as influxdb and mosquitto which I’m already running on my RPi. In that case, I suppose I don’t need the HA Supervisor. I am happy to run my own applications.
Coming from OpenHAB I thought the addons where like the “Bindings” that OH has. How does one get HA Core to interact with other technologies such as zigbee2mqtt, Xiaomi Gateway, Tradfri lights etc?
Yeah I probably should have said integrations or custom components above. Essentially there are typically components that have to get install on the HA side, somewhere. Either via the integrations GUI or custom_components directory that tell HA how to interact with the outside software.
I am not sure how much overhead there is to docker but it is not like a VM. And creating your own image is probably not the first issue you would run into. There are some permission gotchas (what user you run containers under and how they share files, HA wants to be run as root) networking gotchas (hence net=host for HA), and disk space limitations (everything is stored on the root partition) that I had to learn before I every had to create my own image.
Creating your own docker image is not that hard. Again it is mostly just the commands you would do to install and configure the software, keeping in mind it all get’s destroyed/recreated with the image. Most of the time you can find one that is close and just modify the dockerfile.
You can just install HA natively if you want. That’s how I started, then I moved to python virtual envrionments, but the dependencies and difficulty in rolling back led me to docker and using source control to store my config files. I still don’t have a good solution for the new db stuff under .storage. Mostly I just nuke it and reconfigure the integration stuff when I run into issues due to upgrades or rollback. There is probably a better way, but I haven’t researched it yet.