While you can run HA as a container. I think it's a mistake - Its more complicated and has reduced features.
I would instead recommend people use HAOS instead - either running on dedicated hardware OR as a VM. Just dont run it from an SD card if you go down the Raspberry Pi/SBC route - it will kill the card from IO cycles.
I have an IOT VLAN on my network that all the IOT bits sit in, including WIFI devices. What internet access it gets (if any) depends on the device profile.
I tried splitting things up into multiple VLANs but a whole lot of things assume just a flat network, so things stop working if you get too fancy.
It might not. I have a Raspberry Pi 2 that has been running a weather station for over 12 years, and it has been on the original SD card. I have other RPi's doing dumb things around the house and I have never had an SD card failure.
HA in particular creates a lot of log churn. It's not a 100% certainty, but after running for 4 years I finally had to copy the SD image to a new one because it had become unwritable.
Yeah, I haven't had issues with SD cards in a long time. Many years ago (maybe 10), I think they weren't quite as good and I probably skimped too much when buying a card. RPi 1 also had power regulation issues. Now I only use higher tier cards and make sure there's enough free space for wear leveling and operations.
My friend bought an ODROID and an SD card at the recommendation of some tech YouTuber for Home Assistant. Within 3 years the SD card was dead, and I had to help him re-set-up all of his stuff (this time, with a more resilient storage medium and remote backups).
YMMV certainly applies but I feel like the warning is important.
I wouldn't put running a weather station in the same class of disk activity as running Home Assistant. It is writing a fairly large amount of logs, plus statistics for every attribute/sensor for every device. The more devices you have, the more you will be writing.
There are regularly threads from people with "I restarted HA and now I get this weird boot error message", and it's because their SD card died.
You do you, but it's common enough of a problem that I think it's worth calling out as a "Don't do this".
On the weather station I wrote to the SD card 1,068,266 database records, along with all the nginx logs, etc...
> it's common enough of a problem
It's probably survivorship bias, where everyone complains about SD card corruption, while those with no issues really don't say anything. Well, except my comments today.
Fair point on survivorship bias. But, I think SD card being flash memory is technically expected to fail over time, with that failure compounded by the number of write cycles. These cycles are a spec of the SD card. If a section/page of the flash is being overwritten more frequently than the other, then surely it'll fail faster than an SD card whose erase/write cycles are distributed uniformly across all the sections/pages.
I go the container route, and have only had one issue: allowing HA to access my system's Bluetooth adapter. I had some ESP32s lying around, so I used ESPHome to make a Bluetooth proxy, which solved that issue.
I don't run addons though, which might be part of it.
I haven't done it either. But it should just be a case of passing the device to the container. You might need to disable the host from using it and pass admin rights to the container too.
But it was also quite easy to pass a USB device to the HAOS VM in Proxmox.
Yeah, I ended up buying a dedicated mini PC ($100 refurb) to install HAOS on. HA is pretty much useless without being able to run add-ons. I run everything on k8s in my home server, I don't have a VM system set up and didn't want to bother just for HA. It's funny, the pattern of a central application that uses docker containers to add plugins seems like a perfect fit for a Kubernetes Operator. I suppose it still misses out on some of the advantages of running everything "on metal" for integrating with physical components like USB dongles.
It's kind of silly since they're just containers it runs anyways. I'm sure there's other reasons. At least running it as a VM isn't too hard. Pretty easy to use their image and run from that.
> I go the container route, and have only had one issue: allowing HA to access my system's Bluetooth adapter
Even without running in a container, I had huge problems with Bluetooth on Linux (it would just ... stop then not reappear or it would only talk to half the devices but a different set of devices every other day, etc.)
(This isn't specifically a HASS problem, mind; I've had countless problems with Linux Bluetooth since 2003 over many different iterations of hardware, OS and dongle.)
> I used ESPHome to make a Bluetooth proxy, which solved that issue.
I'm using OPNSense for the router, on their dedicated hardware - DEC750 iirc.
The switches are mostly Mikrotik, with some Unifi switches.
The wifi APs are all Unifi - they are all PoE and wired into the same network, no mesh. Even between buildings I ran fibre.
For the switching and routing, were I to do it again now I might go all Unifi. They recently implemented some much needed updates to make doing things like firewall rules and routing based on device much easier. I have a complicated set of rules in OPNsense to route IOT VLAN traffic out via a VPN connection, which require static IP assignments via DHCP, but under the new Unifi network I could do it with a few clicks and being able to use device attributes rather than a static IP.
I am also using an SLZB-MR1 for a ZigBee controller and Matter over Thread border router. I've got a bunch of IKEA and Mercator ZigBee light bulbs/fixtures that act as ZigBee routers. It's a strong enough mesh I rarely have issues with the ~180 devices on the net.
I would instead recommend people use HAOS instead - either running on dedicated hardware OR as a VM. Just dont run it from an SD card if you go down the Raspberry Pi/SBC route - it will kill the card from IO cycles.
I have an IOT VLAN on my network that all the IOT bits sit in, including WIFI devices. What internet access it gets (if any) depends on the device profile.
I tried splitting things up into multiple VLANs but a whole lot of things assume just a flat network, so things stop working if you get too fancy.