Naming scheme is an absoute mess. Hassbian has been retired and has been replaced by Home Assistant OS, which was previously named HASS.IO. Home Assistant Core is referring to running Home Assistant using a Python vEnv.
Home Assistant OS is among the recommended installation methods, next to Home Assistant Container (just Home Assistant Core in container).
Also on container steroids is Home Assistant Supervised which is basically the “convenience” of Home Assistant OS without the isolation from the underlying OS. But it is only supported on Debian 10.
Personally, I run Home Assistant Container on Raspbian and Ubuntu Linux. Don’t need no supervisor, don’t need add-ons. Do like control over my hosts.
Kind of, but not on hardware level, but for process isolation. Also available for Windows and MacOS. Container images (“Docker” is just a brand) contain everything to run single process, but use the host’s kernel. For this, you can run Home Assistant Core using a Python version, that would otherwise hard to install or “polute” your host’s filesystem.
Container instances are created from container images, using a copy-on-write filesystem: Changes done during container runtime will be discarded once the container is deleted.
That’s why you need external persistency. Most simple is a “bind-mounted” host directory, let’s say you define that /tmp/myfolder on your host becomes accessible as /myfolder inside the container. Files created or changed in /myfolder are also accessible at the host (at /tmp/myfolder) and persist even if the container is removed.
Running Home Assistant Container on an OS that is supported by Docker is as easy as:
docker run --detach --name=homeassistant \
--network=host --restart=always \
-v $(pwd)/homeassistant:/config \
-v /etc/locatime:/etc/localtime:ro \
This will also create a directory named
homeassistant in the current directory, where the configuration and runtime data of Home Assistant will be stored. Seconds after that command returns, Home Assistant’s UI will be availabe on port 8123.
To update HA, run:
docker rm -f homeassistant
and re-run the
docker run command above.