Home Assistant Add-ons vs HAOS vs Docker
Understanding the difference between Home Assistant install methods (HAOS vs Docker vs Supervised) and what add-ons actually are, for a local-first setup.
On this page
When you set up Home Assistant, one of the first decisions is how to run it. People often phrase this as “add-ons vs HAOS vs Docker,” but that comparison mixes up two different things. Let’s fix the framing first, because getting this right saves a lot of confusion.
First, the important correction
Add-ons are not an installation method. Add-ons are optional software packages (Zigbee2MQTT, ESPHome, Node-RED, Mosquitto, and so on) that the Home Assistant Supervisor installs and manages for you as extra containers. They are a feature of certain installations, not an alternative to them.
The actual installation methods are:
- Home Assistant OS (HAOS) - a complete, dedicated appliance OS.
- Home Assistant Container - the official Docker image, run yourself.
- Home Assistant Supervised - Home Assistant plus the Supervisor running on your own Debian system (an advanced, less common option).
The key consequence: the Add-on Store is available on HAOS and on Supervised, but not on plain Container. On Docker Container you simply run those same tools as their own containers (via Docker Compose) instead of clicking “install” in an add-on store. So the real choice is HAOS vs Container vs Supervised - and add-on availability follows from that choice.
1. Home Assistant OS (HAOS): the recommended default
HAOS is a purpose-built Linux appliance that runs Home Assistant, the Supervisor, and your add-ons. It’s what the project officially recommends for most people. You flash it to a device and it manages itself.
Pros
- Add-on Store included - one-click install of Zigbee2MQTT, ESPHome, Node-RED, Mosquitto, etc. (for a starting shortlist, see the Home Assistant add-ons I actually use).
- Managed updates and backups built in.
- Lowest maintenance - it’s an appliance; you don’t manage the OS underneath.
Cons
- It wants to own the device. HAOS is happiest as the only thing on the machine (or in a dedicated VM). It’s not meant to share a general-purpose Linux box with other apps.
Runs well on
- Raspberry Pi 4 or 5
- A small x86 box like the Intel NUC 12 Pro or Lenovo ThinkCentre M75Q Gen5
- A VM on a NAS or hypervisor (Proxmox, ESXi, etc.) — see how to run Home Assistant on Proxmox for a step-by-step VM walkthrough
Choose it if
You want the full Home Assistant experience with add-ons and the least fuss. This is the right answer for the large majority of users.
2. Home Assistant Container (Docker): flexible, you manage the rest
This is the official Docker image. You run Home Assistant as one container alongside whatever else lives on your server. There is no Supervisor and no Add-on Store - so you run Zigbee2MQTT, Mosquitto, Node-RED, etc. as their own containers.
Pros
- Fits an existing server. Ideal if you already run a NAS or Docker host and want Home Assistant to be one service among many.
- Full control over networking, volumes, and versions via Docker Compose.
Cons
- No add-on store - you assemble the supporting services yourself.
- More hands-on - you own updates, container orchestration, and troubleshooting.
Runs well on
- A NAS that runs Docker (Synology, Lenovo ThinkCentre M75Q Gen5, or similar), the Intel NUC 12 Pro, or any Linux server you already maintain.
Choose it if
You’re comfortable with Docker, already run a server, and prefer to manage your own stack of containers.
3. Home Assistant Supervised: the middle path (advanced)
Supervised installs Home Assistant and the Supervisor (so you keep the Add-on Store) on top of your own Debian system. It gives you add-ons without the HAOS appliance, but it is strict about its requirements and is the least beginner-friendly option. Important: Home Assistant deprecated the Supervised (and Core) install methods in May 2025, and they became unsupported with the 2025.12 release - so for a new build choose HAOS or Docker rather than Supervised.
Pros
- Add-on Store on your own OS - the convenience of HAOS with a Debian base you control.
Cons
- Picky and advanced - it expects a clean, supported Debian setup, and drift can break supportability. Recommended only if you specifically need both add-ons and your own OS.
A note on HomeKit and Hubitat
None of these install methods change how Home Assistant talks to HomeKit or Hubitat - that’s handled by integrations regardless of how HA is installed. Home Assistant can expose its devices to Apple Home via the HomeKit Bridge integration, and it can integrate with a Hubitat hub via the Hubitat integration, on HAOS, Container, or Supervised alike. Don’t pick an install method for HomeKit/Hubitat reasons; pick it for how you want to run and maintain the server.
Quick verdict
- Most people: Home Assistant OS (HAOS). Add-ons included, minimal maintenance, runs on a Pi, a mini PC, or a VM.
- Already run a Docker server: Home Assistant Container. No add-on store, but it slots into your existing stack; you run supporting tools as containers.
- Want add-ons on your own Debian box: Supervised. Powerful but advanced and finicky - only if you know why you need it.
Bottom line
“Add-ons” isn’t a third installation option - it’s a feature you get on HAOS or Supervised. Pick HAOS for the easiest full-featured setup, Container for flexibility on an existing server, and Supervised only if you specifically need add-ons without the appliance OS.