How to Install a Supervised Home Assistant Server on Ubuntu
There are two Home Assistant versions that you can install on a regular Linux distro. You can either install the supervised version or choose the non-supervised version of Home Assistant, based on your requirements and experience with Linux.
While non-supervised installation is quick and easy, the supervised version requires several additional steps. But if you want to experience the full power of Home Assistant on Ubuntu or Debian, you must go for the supervised version. Let’s see how you can set up a Supervised Home Assistant server on Ubuntu.
Install Supervised Home Assistant on Ubuntu/Debian
To install and set up Home Assistant Supervised, you first need to install Ubuntu on your computer. You can use an old PC or preferably a laptop as it consumes a lot less power.
We recommend you install Ubuntu Server as it’s much more lightweight than Ubuntu Desktop. Once Ubuntu is installed, follow the below steps to install and configure Home Assistant Supervised.
This is an advanced method for installing Home Assistant Supervised on a regular Linux OS. If you are not an advanced user or someone not familiar with Linux, you should avoid this as it requires experience with Linux, Docker, containers, and networking. But you’re free to experiment, of course.
Step 1: Install Docker on Ubuntu
First, check for and apply updates to Ubuntu Server using the following command:
sudo apt update && sudo apt upgrade -y
Then install and set up Docker on Ubuntu. You may also install Portainer to manage and install containers.
Make sure to install Ubuntu Server 20.04.5 LTS and Docker CE >= 20.10.17.
Step 2: Install Supervised Home Assistant on Ubuntu Using Docker
Access the Ubuntu terminal over SSH and run the following commands as root to install the Home Assistant container:
sudo docker run -d --name=homeassistant --restart=always --network=host -v /etc/homeassistant:/config homeassistant/home-assistant:stable
Next, copy and paste the below command to install the dependencies:
sudo apt install apparmor jq wget curl udisks2 libglib2.0-bin network-manager dbus lsb-release systemd-journal-remote -y
Install Docker-CE by running:
curl -fsSL get.docker.com | sh
Download the latest OS-Agent from the GitHub page using the below command (the x86_64.deb package):
Install the downloaded DEB package using dpkg by running:
sudo dpkg -i os-agent_*.deb
Replace the package name in the commands above with the latest package name.
Check if the installation was successful with:
gdbus introspect --system --dest io.hass.os --object-path /io/hass/os
You should see Interface details in the output as shown below:
If the gdbus command is not recognized, install libglib2.0-bin using APT to make it work.
Finally, run the following command to install the Supervised Home Assistant Debian package on your Ubuntu machine:
sudo dpkg -i homeassistant-supervised.deb
This won’t take much time to complete. After the installation, you can open Portainer to check the installed containers.
You can also visit the IP of the Ubuntu machine at port 8123 to access Supervised Home Assistant. You can find the IP address using the ifconfig command.
For instance, let’s consider this as the IP address:
This should load the Home Assistant setup screen where you can create a user account and finish the initial setup. If you have a backup from your earlier Home Assistant instance, you may also restore it from the setup screen.
You can also access Home Assistant using the following URL on a local network:
Once you have set up Home Assistant, you can install the add-ons and create backups with a few clicks. You can also expose your Home Assistant server to the internet with a secure HTTPS connection for remote access using the Cloudflare tunnel.
Troubleshooting Home Assistant Errors on Linux
Home Assistant Supervised will work on any x86 or x64 hardware that can run Ubuntu or Debian. It works the same as on Raspberry Pi hardware with Home Assistant Operating System. However, you may experience some issues and receive warnings while using it.
While you can ignore some warnings, you may need to fix the errors to install the add-ons and Home Assistant Core system updates. Below we have addressed these issues with their solutions and workarounds.
1. Can’t Install or Update Add-Ons or HA Core
You may encounter an error while installing or updating the add-ons or the Home Assistant Core updates. To fix this, first, stop the Portainer container with:
sudo docker stop portainer
Restart the Home Assistant Supervisor using the following command:
sudo docker restart hassio_supervisor
Now you can open Home Assistant and go to Settings to install and update add-ons or Home Assistant Core updates without any error message.
2. Home Assistant Showing Multiple Repairs
Home Assistant can display issues under the Repair section that you must fix to ensure your smart devices are connected and working as intended. However, with Supervised Home Assistant installation, you may see multiple recommendations to repair or fix Home Assistant.
You can ignore the repair suggestions that show the following:
- Unsupported system – Operating System
- Unsupported system – Unsupported software
- Unsupported system – Connectivity check disabled
- Unsupported system – Systemd Journal issues
These may look intimidating but rest assured that they do not impact Supervised Home Assistant or its components in any way.
In case you see “Unhealthy system – Docker misconfigured” under the Repairs section, run the following command to restart Docker:
docker start container_name
Experience the Power of Supervised Home Assistant on Ubuntu
Home Assistant is designed and developed to work with the Home Assistant Operating System (HassOS). While you can install non-supervised Home Assistant on a regular Linux OS such as Debian or Ubuntu quite easily, you won’t be able to install add-ons or use the backup service.
In Non-Supervised Home Assistant, you need to install and configure the add-ons manually, create backups, make repairs, reset settings, etc. However, you can do all the above in a few clicks on Home Assistant Supervised.