I know this is going to start some discussions but what the heck, a good discussion is always helpful.
I have been running docker containers for years both in my job and also in my personal life. I have a dedicated server that runs portainer and some 30 docker containers. So I do know a little about docker.
I decided when I moved from Hubitat to Home Assistant to install my new home assistant system on a bare metal Intel NUC. The NUC is an awesome small computer and runs like the wind. It has done me so well that I actually have 5 of them in my home. I'm actually writing this on my windows 10 running on my NUC.
So, having got Home Assistant running native on my NUC I decided that I needed to create a production instance and a test instance for my playing.
I can install the test system on a space NUC or I can put the test instance on my docker server which has all the management capability, backups and is fast and solid.
Hmmm...so when I started to explore the docker capabilities I noticed a few short comings. Things like Supervisor is missing, one cannot use addons, etc. These can be duplicated with by other means, however when using it as a test bed I got quite concerned as docker is not like to like with my bare metal implementation.
So the question is how much of a difference would I be introducing into my testing would I have by using docker?
I know there are a lot of you out there using docker so I would like to get your thoughts on this.
Thanks.
Glenn...
These should be the only two differences.
If you are used to docker (and it sounds like you are) you will probably not miss addons as they are simply docker containers (as is HA in HAOS) so you can easily set them up yourself.
I currently only run Mosquitto and Z2M alongside HA container in docker right now but have had the following running happily with HA in the past: AdGuard Home, duplication, ESPHome, grafana, influxes, mariadb, ring-matt, Victoria Metrics, wyomimg whisper and a few more besides.
I've never used HAOS but I understand it to be essentially a docker management system.
edit: forgot to add, HA container starts up fast and a restart will not bring down my Zigbee network (as they are different containers).
HAOS is overall less to manage. better for average consumer.
docker vs haos otherwise, really no difference.
For most it probably comes down to:
Do you already have an operational** docker installation at home?
** operational - meaning you have been running several docker containers and keeping them up to date etc.
If Yes
You already have knowledge of and a skill set in docker.
As such its probably easier to install and maintain HA under docker.
In short because you don't need to learn HAOS and its intricacies.
If No
Then HAOS is the better choice, because learning docker is probably overkill for your average home user.
Stick with docker.
Docker is not that hard to learn, at least some basic stuff. Even for someone never used it before. And there are a lot of tutorials outhere.
Docker installation is much easily managed, if necessarily cpu/mem usage can be easily limited, gpu usage can be also limited and used where you need it and you have a lot more power on your hand per container.
If one container aka addon goes down it will not pull the whole sysem like you can see on haos.
There is ingress integration that will give you that haos look and feel accessing containers from your ha installation.
The real question here is what will you test?
A HAOS installation is not equal to a docker installation. It is not a one on one equal system. So if you want to test run things on your test system to make sure that it will play nicely on your live system then your test system must be on an same type nuc also.
If you want to test things like functionality of new add ons or an new release of HA first before rolling them out on your live system a docker installation will be okay for most of the time.
Learning is not the deciding factor
HA is meant to run 24/7 even when you can’t be around to manage it. If you build to complex a setup it may require IT support to keep running, even if that means a reboot once a year. The goal in building an HA install should ultimately be to make an appliance that runs reliably for 10 yrs until in breaks and you go buy a new one.
Using docker instead of haos isn't meant to be more complex and this is not a goal.
Haos and docker are different approaches for the same problem. While haos is trying to use simplicity through complexity approach, docker is other way around.
Docker installation has a lot advantages over haos. Maybe the biggest one is that you have plenty of space to configure it like you want or need to. You are not tied to solution that someone else build having in mind that this will be used by the people who don't have a lot of it knowledge.
I built my system in a way that everything is running on auto pilot, except upgrading firmware for routers. I do that manually by myself.
Everything else from backups to updating debian and docker containers is done automatically.
Add-ons do not exist anywhere, They are called Apps now.
Aside from that you don't need the Apps if you are running container install, you can run these as native docker containers... GitHub - awesome-selfhosted/awesome-selfhosted: A list of Free Software network services and web applications which can be hosted on your own servers · GitHub
So it seems like you want a production and a test enviroment…. why not install Proxmox on the NUC, create a HAOS vm for prod and a second for testing? HAOS can easily be installed with one line of bash on proxmox
Use snapshots and backups and you can test straight in prod!
At least that's what I do.
Solid advice, I use the same method!
My 2cts... if with a family who are not that into the tech behind HA or not into IT or
... then HAOS is easier to (partially) explain some basics.
Note that in my case it would not matter at all, no/low interest other than switching lights
.. so have installed my home automation through HA without any critical functionality
Thanks for this. I don't know if you noticed but I already have a Proxmox server HP Proliant DL-360 Gen 8 that I use for a number of things but because it draws a ton of power I don't leave it run 24/7. I just can't afford the power bill. Truth be known I actually have 5 of them.
I do some of this now, but I don't want to continue as I get a lot of heat from the other half when she goes to do something and I have changed it.
Peace in the abode is a very important factor in most homes, mine included. Thanks for the comment though.