operating-system
:beginner: Home Assistant Operating System
Home Assistant Operating System is a minimal Linux-based operating system built specifically to run Home Assistant, the popular open-source home automation platform. Rather than installing Home Assistant on top of a general-purpose operating system like Ubuntu, this is a stripped-down OS designed from scratch around a single purpose: hosting Home Assistant and its companion apps as efficiently as possible.
It runs on small single-board computers like the Raspberry Pi and ODROID, as well as on standard x86-64 computers with a UEFI motherboard. Because it is not built on a conventional Linux distribution, it leaves out everything that is not needed for the job, keeping memory usage low and disk activity minimal. Updates can arrive over the air without plugging in a USB drive, though offline updates via USB are also supported.
Under the hood, it uses Docker to run Home Assistant's components in separate containers. There is a piece called the Home Assistant Supervisor that manages those containers, handling updates, backups, and app installations through the Home Assistant web interface. This architecture keeps different parts of the system isolated from each other so one misbehaving add-on does not affect the rest.
The OS is built using a tool called Buildroot, which compiles a Linux system from source rather than packaging an existing distribution. This approach gives the developers precise control over what ends up on the device. Security hardening is included through a Linux kernel security module called AppArmor, which limits what running processes are allowed to do.
This repository is for people who want to contribute to or build the operating system itself. Ordinary users who just want to run Home Assistant on their device should follow the official installation guide on the Home Assistant website, which handles downloading and flashing the image without needing any of this source code.