Hardware for home assistant? Variants: HAOS vs. Docker
Home Assistant (HA) can be run on its own dedicated hardware by using the Home Assistant Operating System (HAOS). If you want to run services outside of the HA Add-on Store on the same hardware as Home Assistant, you can also either create HAOS virtually as a VM or start it as a Docker container. The latter requires fewer system resources (CPU and RAM), but loses the ability to install Home Assistant add-ons. Using Docker means that the add-ons cannot be installed in Home Assistant, but must also be started and managed in Docker. The reason for this is that the HA add-ons are Docker containers that are started on the HAOS and managed via the add-on store. As an alternative to HAOS, for example, a Linux operating system with Docker installed can be used as a substructure and HA itself can be started as a container. The HA Docker image can then be run alongside other containers on the same platform. The advantage of this setup is that containers that are not available in the add-on store are also supported.
Installation variants overview
Hardware dedicated for Home Assistant: e.g. Raspberry PI
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%22%20style%3D%22shape%3Dimage%3Bhtml%3D1%3BverticalAlign%3Dtop%3BverticalLabelPosition%3Dbottom%3BlabelBackgroundColor%3D%23ffffff%3BimageAspect%3D0%3Baspect%3Dfixed%3Bimage%3Dhttps%3A%2F%2Fcdn1.iconfinder.com%2Fdata%2Ficons%2Ffruit-136%2F64%2FFruit_iconfree_Filled_Outline_raspberry-healthy-organic-food-fruit_icon-128.png%3BfillColor%3Dnone%3BfontSize%3D14%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22-406%22%20y%3D%22147%22%20width%3D%2287.27%22%20height%3D%2287.27%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E |
Operating system: Home Assistant Operating System (HAOS)
HAOS directly on the hardware is certainly the simplest installation variant. The operation of HAOS requires neither Linux know-how nor experience with Docker. Advantage: Simple installation. All Home Assistant features supported, including simple installation of add-ons. 👍 For example, a Raspberry PI or Intel NUC could be used as hardware. If you can make do with HAOS and the available add-ons, you should use this installation variant. |
Hardware: PC / mini PC / NAS / server
Operating system independent (Windows, Linux, Mac)
HyperVisor (HyperV, Virtualbox, Proxmox, KVM, VMWare Workstation)
Container e.g. Docker |
Operating system: Linux
Installation variants:
|
Home Assistant ready to use: Home Assistant Green
The creators of the open source project: NABU Casa offer with Home Assistant Green, Blue or Yellow also their own hardware with preinstalled HAOS. The pre-installed boxes offer probably the easiest way to put Home Assistant into operation, see: https://www.home-assistant.io/green/.
What hardware can be used for Home Assistant?
A Rasperry PI is very often recommended for the operation of Home Assistant. Even if a Raspberry PI 3 or better Raspberry PI 4 has enough computing power for operation, a standard low-power hardware, such as a mini PC, is still much more performant. In addition, a PC has enough power to run other services like Grafana or Nextcloud.Once a suitable hardware has been chosen, it is easier to answer the question with which variant Home Assistant should be installed:
Which installation variant should be used for Home Assistant: HAOS or Docker?
According to the manufacturer, the preferred installation variants are the use of the Home Assistant Operating System (HAOS) or, alternatively, the use of a Home Assistant container. The decision criteria are, on the one hand, whether separate hardware should be used for Home Assistant and, on the other hand, whether other services should also be operated with Docker. The latter was the case for me: I also run other services, such as Nextcloud, on the same hardware as Home Assistant.
The price for using Docker is the abandonment of the AddOns store, which ends up in having to deploy AddOns via additional containers instead of the store. The Add-ons menu item is not available with the Docker variant:
The reason for this is that HAOS provisions the add-ons as containers. If Home Assistant itself is run in Docker, no other containers can be created within the container: Those running Home Assistant in Docker will have to create containers directly in Docker as a replacement for the required add-ons. In addition to being easy to deploy, add-ons also have the advantage that Home Assistant handles authentication for the add-ons: Logging in to Home Assistant also provides access to the add-ons. The situation is different when using your own containers instead of add-ons: These require their own user logon: Either provided by the application itself or upstream via a reverse proxy.
As hardware for running the Docker containers mentioned here, I use a home-built NAS, see: Building a NAS yourself: flexible, low-power and cheap [HowTo]. However, any other hardware, such as a notebook, a Raspberry PI, or a mini-PC, can also be used for operation.
What are the advantages of HAOS compared to Home Assistant in Docker?
- The setup of HAOS is easier.
- In HAOS, certain services can be added more easily via add-ons. (incl. existing HA user-authentication)
- Support for the Sky Connect USB stick
- No knowledge of container operations required.
What are the advantages of the Home Assistant Docker variant compared to HAOS?
- Home Assistant is "just" another container that fits seamlessly into an existing Docker setup: With a Docker setup, other web services outside the HA-Add-Ons - for example NextCloud - can be run on the same infrastructure in addition to Home Assistant. Home Assistant can not only use the existing hardware, but also the same reverse proxy for access from the Internet. If you have already set up a backup for Docker as an example, you can also use this for Home Assistant without any further customization. Moving Home Assistant to another hardware is also limited to moving the containers.
- The use of additional services is not limited to the add-on store.
- The Docker variant of Home Assistant requires fewer system resources.
Hardware recommendations
The Home Assistant Operating System (HAOS) can be installed directly on one of the following devices, among others:
|
Performance for test environments, small installations sufficient, newer devices offer better performance. |
If you want to run other services besides Home Assistant, you can use any low-power x86-64 hardware for it, e.g.
|
If you want to build your own server at home, you can follow this article: Build NAS yourself: flexible, power-saving and cheap [HowTo]. The basis could be, for example, an appropriate motherboard with integrated passive-cooled CPU: |
In summary, my recommendation
If you don't want to deal with Linux or Docker, you should use HAOS as your operating system. HAOS is also suitable when using a Raspberry PI. As you can see on the page, I am a fan of container technology. Of course, the lack of an add-on store and the effort involved in getting add-ons up and running is an argument against HA in Docker. At this point HAOS in a VM under e.g. Proxmox certainly offers a possible option. However, anyone who uses Docker anyway and also runs other containers will find Docker to be a platform in which the most diverse systems can be operated uniformly. My setup currently looks like this: As hardware I currently use a mini-PC with N100 processor, Ubuntu as operating system and Docker for the operation of Home-Assistant. For access from the Internet I have set up a port forwarding and a Traefik reverse proxy.
Home Assistant: Docker startup + SSL Internet access
Besides installing it on its own hardware, the second recommended installation option for Home Assistant is to use Docker, see also: HAOS vs. Home Assistant Docker Installation. To run Home Assistant in Docker, a Docker setup is of course required, see: Docker. Those who already have Docker setup can start Home-Assistant with the following command: ... continue reading
HAOS Installation: Publish RPi securely over the Internet
One of the preferred installation variants of Home Assistant, besides the use of Docker, is the Home Assistant operating system: HAOS and a Raspberry Pi (RPi). Using a Raspberry Pi as a smart home control center is simple, cheap to purchase, and power efficient to operate. ... continue reading
HAOS-VM tested in Hyper-V
For HAOS, in addition to its own hardware, such as a Raspberry PI, any HyperVisor in Linux or Windows can be used. As an example Virtualbox, Proxmox or under Windows HyperV. Representative for other HyperVisors I tested the installation with HyperV. ... continue reading
{{percentage}} % positive