supervisor is a free, open source automation project written in Python and released under Apache-2.0. It has 2,222 GitHub stars, 806 forks and 109 open issues, and was last pushed 11 hours ago. On this registry it ranks #40 of 54 tracked projects in Automation, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is supervisor?

What it is

Home Assistant Supervisor is a Python project for the Home Assistant ecosystem, a home automation platform. It is a container-based system that manages Home Assistant Core installations and related applications. The project is described as a private cloud solution for home automation, and it is controlled through Home Assistant, which communicates with the Supervisor.

The concrete problem it solves is the coordination of a self-hosted home automation stack. Instead of requiring each container and update to be handled manually, the Supervisor provides an installation management layer. It can change network settings, install software, and update software through an API. This makes the Home Assistant environment more manageable for users who run their own private automation system.

Key capabilities

  • It manages Home Assistant Core installations and related applications as a container-based system.
  • It provides an API for installation management, including network settings, software installation, and software updates.
  • It integrates with Home Assistant, because Home Assistant controls the system through communication with the Supervisor.
  • It supports a release workflow with dev, beta, and stable channels.
  • It uses a stable.json version file to guide the promotion of builds from beta to stable.
  • It is built around Docker and functions as an orchestrator for the Home Assistant software stack.
  • It supports contribution through a development process that asks for an RFC before significant changes.

Who uses it and how

  • Home automation users who run a private, self-hosted system use it to manage the core platform and related applications.
  • Operators use it when they need to change network settings without manually managing each container.
  • Users use it when installing or updating software in a Home Assistant deployment.
  • Maintainers and contributors use it through the release channels, moving changes from dev to beta and then to stable.
  • Home Assistant users use it as the control layer that connects Home Assistant to the Supervisor API.

Getting started

The README points to https://home-assistant.io/getting-started for installation instructions and https://home-assistant.io/hassio/ for the project homepage. Development instructions are linked from the README and are hosted on the Home Assistant developer documentation site.

When to use it — and when not to

Use it when the goal is to manage a Home Assistant Core installation and its related applications inside a self-hosted, container-based automation stack. It is less suitable when the user needs a replacement for a paid home automation service, because no paid product is listed here. A self-hoster must also follow the project's release and update process, and the 109 open issues show that the system still requires active maintenance.

project readme (upstream, from github) — read inline

Home Assistant Supervisor

First private cloud solution for home automation

Home Assistant (former Hass.io) is a container-based system for managing your Home Assistant Core installation and related applications. The system is controlled via Home Assistant which communicates with the Supervisor. The Supervisor provides an API to manage the installation. This includes changing network settings or installing and updating software.

Installation

Installation instructions can be found at https://home-assistant.io/getting-started.

Development

For small changes and bugfixes you can just follow this, but for significant changes open a RFC first. Development instructions can be found here.

Release

Releases are done in 3 stages (channels) with this structure:

  1. Pull requests are merged to the main branch.
  2. A new build is pushed to the dev stage.
  3. Releases are published.
  4. A new build is pushed to the beta stage.
  5. The stable.json file is updated.
  6. The build that was pushed to beta will now be pushed to stable.

Home Assistant - A project from the Open Home Foundation

Frequently asked questions

Is supervisor free to use?

supervisor is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does supervisor do?

:house_with_garden: Home Assistant Supervisor

What is supervisor written in?

supervisor is primarily written in Python. Its source is publicly available at https://github.com/home-assistant/supervisor, and it has 2,222 GitHub stars.