You don't want to have to think about it. HA OS just works. You set it up and let it run.
There's no sense in trying to kerfuffle other things into it. You don't want to do too much on the Pi anyway because it'll lower the responsiveness of Home Assistant slightly. If you want a server that does things, buy a separate NAS and run it alongside HA OS.
This is what I do with a Pi running HAOS and a Synology ds920+ running backups and everything else. It's been rock solid, gives me a decent backup solution, my home automation is stable and responsive and no-fuss, and plenty of options for tinkering. Highly recommend.
I was sceptical about running in a OS that I can't run my normal updates and automations on but HA OS has been rock solid and easy. Plus you get a few more features
I recommend HA OS. What happened to me is that I used docker, got everything set up how I liked it, then had to move over to HA OS when I needed a specific add on and didn’t have any other solution.
If you don’t already have a plan for other services, might not make sense to use docker, too.
It was an add on for my Roomba. I should have mentioned that in my case I’m using Unraid, so I’m limited to community maintained docker containers. I’m sure there’s a way to do it through docker in Unraid, but it was above my skill level.
I've run both, and the OS version is much more stable and easier to keep running. Whether you use an rpi or a VM, use the dedicated OS and save yourself the heartache of trying to get your hardware working with docker.
You can go supervised! You still have most of the operating system available to your needs and you can still use add-ons. I use it for years and it works like a charm
I'm running the docker version as I'm also using the rpi for other things, like imageview and pi hole. I don't really miss addons, the only annoying thing is that most documentation assumes you're running ha os.
But if you don't plan to use it for anything else than HA, I'd go for HA OS.
I run the docker because it’s really easy to migrate to another machine if I needed. I just rsync the data and re-run the yaml on the new machine and I’m back up within seconds.
I run HA OS and from my experience updating and installing add-ons is seamless.
Creating backups and restoring (had to replace a corrupt SD Card a while ago) was also no issue.
Add-ons I have installed
Advanced SSH Terminal
ESP Home
Home Assistant Google Drive Backup
VS Code Server
Maria DB
HACS for a few integrations:
YT Music Player
Waste Collection Schedule
nothing too fancy.
I run a second Pi with an SSD for docker containers or native OS installs (gitea, drone-ci, pi-hole, etc.)
I used a ton of AddOns, really practical because they also embed themselves easily into the rest of Home Assistant. I would go for the HA OS. But I also do wish there was a AddOn to install random docker images.
There's nothing that you can't do with docker that you can do with addons, but many things you can do with docker that you can't do with addons.
Addons are marginally easier to setup but if you have technical skills, docker is also not a lot of work. You can use something like Portainer to get a similar easy interface. So I think it's down to if you have the technical skills for docker.
I run ha supervised and I do both, but the system does complain that I do that.
I’d always run HAOS. When you need Docker containers which are not available as add-ons I would look for a machine that can run Proxmox so you can run a Docker VM and a HAOS vm in parallel.
home assistant in docker is definitely not for the feint of heart! the networking requirements are actually quite intense, and really don’t map well to virtual networks like dockers uses
… among other issues
HAOS on a pi; i’ve tried the docker thing time and time again, and the next chance i get in blowing it all away and starting on real hardware again
I have HA running in docker on a Pi 3 and Z-wave JS running in another on the same Pi. Added a purpleair integration for outdoor air quality, national weather service, some local sensors, and sql to get data from another node. People have made me paranoid about SD card failures, so I regularly image it to my main server. I mostly use HA to visualize environmental data, but it also runs the lights in a hydroponic farm and the house during vacations, via z-wave outlets. Have not tried to integrate it with google or amazon.
The only inconveniences I've found with docker is that you can't restart HA from its web interface and, if you update regularly, old images quickly fill a smaller card, so you have to remember to purge.
Imho, for the vast vast vast majority of people, you should pick the lowest management solution for a long running home server. In an ideal world every home appliance is like an oven, something that always works, cleans itself, and requires no obligations of you the owner. Of course some things don't work like that, knives need sharpening, cast iron pans need seasoning, wood cutting boards need oiling, but when it comes to home server software it's entirely possible to design it so that it's more like an oven, updating itself, always running, and never requiring anything of you the owner other than keeping it plugged in. That's what HAOS is, and I would rather buy more Pis / old laptops and just run them side by side rather than deal with a whole extra management layer and critically timed updates and stuff.
Used to use it on Truenas as a plugin, but that was quite difficult to keep updated. So I put the OS on the Pi that I had laying around and it's been a lot more stable and easier to maintain. Keep in mind to use a external SSD instead of an SD card though, the SD card will fail too quickly.
Its not super hard to manually set up with docker or podman but you have to deal with integrating and updating the add-ons yourself. I ran out of CPU on a pi4 (due to a buggy websocket client in the end) and moved to a small form factor x86_64 server under Rocky. I ran manually using just containers (podman in this case) and it worked fine but integrating and updating the equivalent of add-ons was a lot of manual plumbing work that I don't find much fun anymore.
I switched back to hassos, but under KVM. This for me is the best of both worlds: I get the fully managed/integrated work of Frenck and friends for HA and can still access and manage the machine normally (and use it for other services).
There's nothing remotely realtime about the python code in the core HA, it works well in a reasonbly provisioned VM (4 cores, 8G ram) backed by a good SSD. There is some religion in the community about not using VM's: it is a layer of complexity and I understand why folks on discord don't want to help people with it, but technically it works well for this class of app.
I think the pi isn't a great value proposition anymore especially given the availability issues. I run HA off of proxmox installed on a nuc11 NUC11ATKC4 with a Celeron N5105, which set me back about $150 USD. It runs solid as a rock, with 2 cores and 8gb of ram, and enough left over to carve out an instance for running a local game server like Minecraft or Satisfactory when I like. You could do something like a pihole or a plex server instead, easy. Don't let people tell you it's hard to set up this way...there are well maintained scripts for installing and configuring proxmox and then HAOS afterwards. Took me like 15 minutes total of basically braindead pressing enter for 'next'. The instance runtime has been completely uninterrupted except for updates for over 6 months now. I let a pi run my 3d printer but I think I'm done running any constant availability services off of one.
Running it on a bare Pi, HAOS, imho you get the most performance, and support if it goes wrong.
Running on more powerful hardware (x64 host), VM all the way. It's so much easier when you can snapshot, move VMs around, and split out components when needed.
Home assistant OS is also my recommendation. Add-ons are pretty important IMO. Plus for something I am planning to try and have 100% uptime and controlling my home smart devices I don't want it containerized and at the mercy of docker.
I started out running HA in a docker container on a NUC (everything configured in a docker compose file). Documentation around everything was pretty poor at the time (I'm not sure if this has improved since then), so I ended up feeling too confused on where to even begin expanding from vanilla HA.
I ended up picking up a RPi 4 (and SSD and enclosure) and have been happily running HA OS since then on the Pi. If that ever fails on me, I may go back to a docker instance.
I'd recommend you try whichever is the most convenient first (probably the docker approach, unless you already have the Pi on hand). Give it a month or two, try to setup up a few things you're interested in, and then decide if you're satisfied with that setup or want to try the other option.
I used the fanciest possible setup with HA running in a Kubernetes cluster and its helper services likewise, but that's severe overkill for most people unless they've got compute to burn and need/want/enjoy customizing the heck out of everything.
A Pi, even a Pi 4, isn't compute to burn but also isn't expensive enough to need other services on it to justify it. For what it's worth, I'd suggest HA OS and dedicating the Pi to it.
I run (or rather playing with it for the moment) Debian on a Raspberry pi4 with docker and HA supervisor , but run out of memory as only have 2GB
It's easy to install and set up, so thinking to go for a Tiny PC anf formatting to Debian or getting a Pi with 8GB.
I tried HAOS on the pi, but couldn't get past the login console, and was lazy and didn't / couldn't find how to get past that login, and find a DE if there is one
If anyone can tell me how to do that i would be grateful