Skip to content

How to Install Home Assistant Supervised – OFFICIAL WAY

Kiril Peyanski holding home assistant logo and best way to install home assistant label

You can install Home Assistant using several different methods. I tried them all, for months, so you don’t have to do the same. Finally, I decided to stay with Home Assistant Supervised method as one of the easiest and probably the best one in my personal opinion.

Let me show it to you!

How to Install Home Assistant Supervised – OFFICIAL WAY

What will you find in the article?

In today’s article we will talk about some Pros and Cons of all of the Official Home Assistant installation methods. After that I will install Home Assistant Supervised on a Raspberry Pi 4 as example.

Home Assistant Supervised can be also run on Intel-NUC, Odroid, and x86 PCs. Supervisor menu and Add-Ons are also working.

So stay tuned for the Pros and Cons of all of the official Home Assistant Installation methods or skip directly to the Home Assistant Supervised.

Let’s go…

What are the official ways to install Home Assistant?

At the moment there are 4 official and supported ways to install Home Assistant:

  • Home Assistant OS,
  • Home Assistant Container,
  • Home Assistant Core,
  • Home Assistant Supervised.

All of them have some Pros and Cons.

There are 4 official ways to Install Home Assistant
There are 4 official ways to Install Home Assistant

Home Assistant OS method

The first official and supported installation method is called Home Assistant OS.

Home Assistant OS comes in a form of a ready to use images, that could be used on a Raspberry Pi, Intel-NUC, Odroid and so on. Or you can use this Home Assistant OS image to create a new Virtual Machine with VirtualBox or other similar software, exactly as I’m showing in this article 👇

Install Home Assistant using VirtualBox on Windows/Linux/Mac

The Pros here are a lot:

You’ll get fully functional Home Assistant with Supervisor menu and Add-ons, everything is supported and regularly updated.

As cons imagine the following scenario: If you boot the Home Assistant OS image let’s say on a Raspberry Pi or Odroid – you cannot use that device for almost anything else!

You get Home Assistant and that’s it!

Additionally you can install only the available Add-ons in the Supervisor store and nothing more.

If you want to have a Home Assistant dedicated device, then Home Assistant OS is probably the best installation method for you! Otherwise keep reading.

Home Assistant Container method

The second official and supported method to install Home Assistant is called Home Assistant Container.

Just like the Home Assistant OS I have a detailed tutorial about it that you can check right here👇

The first method described in this article is about Home Assistant Container

Home Assistant Container is really easy to install, everything is supported and regularly updated. The only requirement is to have up and running Docker client and Internet connection for the initial part.

If you want to quickly spin a new Home Assistant instance and remove it later without any complications this is the best way. I’m constantly using the Home Assistant Container method for my YouTube videos and the articles here, where I usually test something and then wipe everything and start all over again.

The big cons in Home Assistant Container is that you won’t get the Supervisor menu and Add-ons when using this method of Home Assistant installation.

Home Assistant Core method

Third method of the official and supported Home Assistant installations is called Home Assistant Core.

It is somehow similar to the Home Assistant Container, but this time Python virtual environment is used instead of Docker.

Again you will not have the Supervisor store and Add-ons. Also few more steps are needed for installing and updating in comparison to the Home Assistant Container method.

This method is the origin of the Home Assistant. I started with Home Assistant Core when I was a Home Assistant noob (back then it was called differently). I did my first steps using Home Assistant Core and this is how I got hooked to Home Assistant.

Later, I switched to the other methods and never looked back, but this Python based Home Assistant will always have a special place in my RAM ❤️

Home Assistant Supervised method

And the Forth and final method is called Home Assistant Supervised.

We have Supervisor menu and Add-ons here and we have the freedom to install Home Assistant Supervised on a lot of devices, without the requirement to dedicate them for Home Assistant only.

For example you can have a Raspberry Pi with Raspberry Pi OS on which you can watch YouTube videos and to have Home Assistant working in the background simultaneously.

But let’s see a real Home Assistant Supervisor installation on a Raspberry Pi right now.

How to Install Home Assistant Supervised

I will use Raspberry Pi 4 with 4GB of RAM with Raspberry PI OS running on a microSD card. You can use the same or you can use a SSD instead – exactly as described in this article👇

Boot Raspberry Pi 4 from SSD instead of miroSD card for better performance and stability.

Of course you can use totally different device like Odroid, Intel NUC or even x86 or x86-64 desktop PC with Intel or AMD CPUs. As long as the device is having Debian or Debian based Linux distribution installed.

Home Assistant Supervised dependencies

These are dependencies needed to install Home Assistant Supervised. Do not worry that they are too much, we will install them all with several simple commands in a minute.

  • jq
  • wget
  • curl
  • avahi-daemon
  • AppArmor
  • udisk2
  • libglib2.0-bin
  • network-manager
  • dbus
  • Docker
  • Debian Linux 11 aka Bullseye (no derivatives) or Debian Linux 10 aka Buster (Buster will be deprecated soon)

Quick examination on some of the dependencies:

  • Docker – we will cover this in details in a minute.
  • Debian linux – We will not meet this in this article! We will use Raspberry Pi OS, which is Debian based linux, just like Ubuntu, Linux Mint and tens or even hundreds of others. As a result we will se the following label inside our Home Assistant ⬇️
You are running an unsupported installation
If you install Home Assistant supervised on something different than Debian you will see this unsupported installation label.

Don’t worry too much about that label. I’m having my production / main Home Assistant installed that way with the same label for years now and I can assure you that nothing bad happened to me or my Smart Home.

Of course, if you wish you can install Home Assistant Supervised on Debian with exact the same commands as I will use below and you won’t have that unsupported label. The choice is yours.

Let’s install the dependencies now.

Use LAN Cable or Disable Wi-Fi randomization during the Home Assistant Supervised installation

Before you continue further I highly recommend to either plug the ethernet cable in your Raspberry Pi or to Disable Wi-Fi randomization. This is because the Raspberry Pi constantly change its IP when you are on Wi-Fi and you are messing with the network or rebooting.

Choose either of the following options and do it:

  1. Connect your device to your local network with Ethernet cable. Ethernet cable is only needed during the Home Assistant supervised installation and you can go wireless again afterwards.
  2. The other option is to Disable WiFi MAC randomization. This options is suggested from JH in the comments below, so all the credits goes to him 👍. To disable the WiFi MAC randomization, create the following file using the this command:
sudo nano /etc/NetworkManager/conf.d/100-disable-wifi-mac-randomization.conf

and paste the following content inside:

[connection]
wifi.mac-address-randomization=1
[device]
wifi.scan-rand-mac-address=no

Save the changes and continue.

Install Home Assistant Supervised dependencies

Connect to the device where Home Assistant Supervised will be installed or open a Terminal there and execute the following to update your Operating System:

sudo apt-get update && sudo apt-get upgrade -y

Then, Install AppArmor, Network Manager, jq and the other dependencies:

sudo apt-get install jq wget curl avahi-daemon udisks2 libglib2.0-bin network-manager dbus apparmor -y
Install Home Assistant supervised dependencies.
Install Home Assistant supervised dependencies.

There is a chance to to receive some errors for missing dependencies. If that is the case try the following command:

sudo apt --fix-broken install

And reboot your device:

sudo reboot

When everything is fine with the above installation of the needed Home Assistant Supervised dependencies, you can continue with the Docker installation.

Install Docker

Docker is the next thing that is needed for Home Assistant Supervised.

I will show you how to install it on a Raspberry Pi. If you have different device go to docker.com and check which is the best way to install it for your setup.

For the Raspberry Pi, execute the following to get the official Docker installation script:

curl -fsSL https://get.docker.com -o get-docker.sh

After that, start the script and enjoy the ride:

sudo sh get-docker.sh

We have to add our linux user to the Docker group, but that is easy. If your user is not pi as in the example below, just change the last part of the command by replacing pi with your username:

sudo usermod -aG docker pi

Alternative way to install Docker on other than Raspberry Pi OS

If you are not on Raspberry PI, try the following command which will download and install Docker on your Linux.

curl -fsSL get.docker.com | sh

How to check if Docker is installed correctly?

When everything above is finished, you can check if Docker is working by typing the following command:

docker --version

If you see some digits showing your Docker version, then you can continue forward as Mel Gibson in Brave Heart movie (but without the unhappy end).

Checking the Docker version is just needed to double check that the Docker is installed successfully.
Checking the Docker version is just needed to double check that the Docker is installed successfully.

Install Agent for Home Assistant OS

This Home Assistant Agent was introduced by the HA crew not so long ago. The Home Assistant OS Agent is used for better communication between the host OS and the Supervisor and can enable new features. So, just install it and benefit later when there is something to benefit…

Download the latest Debian package from the Home Assistant OS Agent GitHub page at:

https://github.com/home-assistant/os-agent/releases/latest

For Raspberry Pi 4 the needed package and the commands to download and install this package are the following.

wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_armv7.deb
sudo dpkg -i os-agent_1.2.2_linux_armv7.deb

TIP!: Have in mind that when you are doing this the current version may be higher (not 1.2.2 as stated above). Just get the latest version from the first link in this section..

Another example, if you are using regular 64bit desktop you have to execute the following command. And before that you have to get the respective package (os-agent_1.2.2_linux_x86_64.deb):

sudo dpkg -i os-agent_1.2.2_linux_x86_64.deb

No matter are you using Raspberry Pi OS or not you can check if the Agent for Home Assistant OS is installed correctly by executing this:

gdbus introspect --system --dest io.hass.os --object-path /io/hass/os

if you receive answer (in my case it was a lot of text starting with node /io/hass/os…) you are just fine.

Official Home Assistant Supervised installer

Finally, it is time to install Home Assistant Supervised.

We will use the official installer coming from the Home Assistant developers. That means this script will most probably stay around for more than a minute.

At the end of the day everything is official here. Including my newsletter, where you can receive articles like this one on a weekly basis.

Now Let’s go:

Get the official Home Assistant Supervised installer script:

wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

Then install the package:

sudo dpkg -i homeassistant-supervised.deb
Home Assistant Supervised select machine type

You will see a dialog asking you to select machine type:

These are the Home Assistant installer supported machine types:

generic-x86-64qemux86-64
odroid-c2raspberrypi
odroid-n2raspberrypi2
odroid-xuraspberrypi3
qemuarmraspberrypi4
qemuarm-64raspberrypi3-64
qemux86raspberrypi4-64
tinkerkhadas-vim3
Supported Machine Types for the official Home Assistant Supervised installer.

TIP!: For example if you have x86-64 computer (these are most of the modern Intel or AMD CPUs) you have to select generic-x86-64.

After installation of the homeassistant-supervised.deb has finished you should see something similar:

Successful Home Assistant Supervised finish of the installation script
Successful Home Assistant Supervised finish of the installation script

First start of the Home Assistant supervised will take some time. After a minute or 5 or even 10 (be patient here) you can try to open a new browser/tab and type your device IP on port 8123 (default Home Assistant port). Example: 192.168.0.2:8123

Home Assistant Supervised is installing wait up to 20minutes

If everything is successful, you should see the following screen:

That means everything is fine and you just have to wait some more 🤣 (around 20 minutes) for everything to finish.

At the end you will see the Home Assistant welcome screen and initial wizard where you can create a Home Assistant user, set a location, add discovered devices and so on.

This is the Welcome Home Assistant wizard/screen where you can start flying.
This is the Welcome Home Assistant wizard/screen where you can start flying.

Home Assistant is running now what?

Now, when you have your Home Assistant up and running it is possible and pretty normal to don’t know what to do next. Don’t worry, I’m here to help. You can check:

  • My YouTube Home Assistant Playlist – LINK
  • Or my Home Assistant category here in my website – LINK

Choose something from the above links and try to implement it. If you face any difficulties you can always reach out in the comments or in my Discord server or in Twitter.

What is the best Home Assistant installation?

While you are still waiting for the Home Assistant Supervisor installation to finish. Can you tell me which of the official Home Assistant installation is best for you and why in the comments section below.

I promise to respond you back.

Home Assistant Supervised Final Thoughts

As every other method Home Assistant Supervised is having some Cons.

If you don’t want to see the unsupported label in Home Assistant you have to use exactly Debian Linux and nothing else. Although, I didn’t find any differences between running Home Assistant on Debian and Raspberry Pi OS for example.

Also as you have full control over your OS you could easily break your Home Assistant installation by installing or removing some software. So you have to be a little bit more careful with that.

And pretty much that’s it, I didn’t find any other major cons of Home Assistant Supervised till now. If you know about some, let me know in the comments it will be very interesting to see them.

By the way, if you want to join a free Home Assistant webinar where I’m discussing the 4 official ways + 1 super easy and quick way to have Home Assistant – go to the link below and register to get instant access!

How to Install Home Assistant Supervised - OFFICIAL WAY 1

Stay safe and don’t forget – Home Smart, But Not Hard!

Thank you for reading, and I will see you in the next article.

202 thoughts on “How to Install Home Assistant Supervised – OFFICIAL WAY”

  1. Interesting! I first installed RaspianOS on a Pi4 ssd and continued with IOTstack to end up with an unsupervised version. I wasn’t sure that is what I wanted and decided to start again using home assistant OS. It looks like the method you describe here is what I prefer best. I presume that IOTstack can be used to install all addons?

    1. Actually, IOTstack and this method of Home Assistant Supervised installation are pretty much the same. Using IOTstack should be easier to install HA, but in my experience it is not very reliable and very often you have to troubleshoot and tweak somethings. The method that I’m describing here should be bullet proof.

  2. Please help me
    When installing Home Assistant Supervised, it returns an error:

    [info] Install supervisor Docker container
    invalid reference format

    Tell me what made a mistake or where to look for information. I have already rummaged through everything that I could, I can not solve this problem (((

  3. How can I switch from a docker installation to the supervised method without loosing any data from the previous installation??

    1. Full backup, with history and everything is only possibly with snapshots, but you can try to backup and restore, your config folder (all yaml files inside) and you will be close to full replication

  4. Walked through this guide a few times with no luck with given commands. After sending the sudo bash installer script, during the “Install supervisor docker container” it breaks with
    Error response from daemon: Get https://registry-1.docker.io/v2/: dial: tcp: lookup registry-1.docker.io on 10.0.0.1:53 dial udp 10.0.0.1:53: connect: network is unreachable. The only method I’ve found around this is using a previous version of git with kwanga or something. Still have yet to correct the solution here. Running rpi4-8GB fresh raspbian lite image.

    1. That is really strange I’m using exactly RPI4-8GB on Raspberry OS but not lite. I also have it on RPI4-4GB and it worked without any issues. Can you try to install it when you are connected via LAN cable and not WiFi?

      1. Incase anyone else stumbles onto this issue while searching. I found the issue to be the pi power supply providing low voltage triggering it to drop wifi.
        A better power supply and Ethernet fixed the issue

        1. It is great that you share that info Anon. Much appreciate it! And I’m glad that you fixed your issue.

        2. I had the same problem, even though I used the official power supply. I fixed it by using LAN cable instead of Wi-Fi.

          1. Yes, LAN cable can help if you loose connection during installation. After the installation finish you can switch back to Wi-Fi

    2. Had a similar problem where the script would crash after printing [info] Install supervisor Docker container with a seemingly random network error when connecting to https://registry-1.docker.io/v2/

      Found a solution here:
      https://forums.docker.com/t/tls-handshake-timeout-pulling-from-docker-hub-on-a-raspberry-pi-1-on-docker-17-03/53614
      Its reduce the number of parallel downloads of the docker daemon to 1

      /etc/docker/daemon.json
      {

      “max-concurrent-downloads”: 1
      }

  5. Hi,
    I followed your guide and successfully installed HomeAssistant on Raspbian Buster OS, running on RaspberryPi 3 device. The reason I wanted to have installation that way (and not using HA OS) is, that I would like to use my Raspberry 3 with HomeAssistant as a VPN client and I also want to set up specific firewall rules on this machine. Wireguard plugin allows only server installation, not client installation.

    So, everything is working fine, but when I reboot my device (through command line – ssh or. through web GUI of HomeAssistant), Home Assistant does not start up again.

    docker ps -a shows that almost all containers exited (except hassio_observer), so I say (in ssh terminal)

    docker restart homeassistant
    docker restart hassio_multicast
    docker restart hassio_observer
    docker restart hassio_cli
    docker restart hassio_audio
    docker restart hassio_dns
    docker restart hassio_supervisor

    The everything was working, but after a couple of restarts I can see docker processes running, but web GUI is not accessible. Any idea what could be wrong?

    1. Sorry, I don’t know that seems that some kind of a Docker issue to me. Try to downgrade it to latest version 19.xx or upgrade it to the latest if you are not.

  6. Hi Kiril,

    It works perfectly on my RPi4, but I cant get SSL to work, I’ve tried the Duckdns add-on and manual set up. Did you set up remote access?

  7. Never mind, fixed it. Installed the duckdns add-on and added this to my configuration.yaml

    http:
    ssl_certificate: /ssl/fullchain.pem
    ssl_key: /ssl/privkey.pem

  8. Cheers mate, very straightforward and to the point guide – was trying to make sense of the installation on the official web, but ended up here. Thanks!

    1. Check the Sako comment below with the reducing concurrent downloads parameter. Maybe this fix will help you as well.

      1. Sako fix didnt work. I have noted that everytime I try and it gets to the NetworkManager restart line the ip address gets renewed with a new one, so i have to open a new putty session. I will try with a monitor attached.

      2. So with the Zero W connected to a monitor and Sado’s Fix, I get further.

        Next I get an error at
        [info] Install supervisor Docker container
        invalid reference format

        I’m using “sudo bash installer.sh –machine raspberrypi

        1. @green did you manage to fix the problem i have the same problem and also running it on raspberry pi ?????

          1. I #commented out the restart Network manager line and then also got the “invalid reference format” error. Run the script with -xv to follow it through its processes. I wound up cutting the docker pulls out of that script and into another, ran chmod+x and ran those after the network manager had fully restarted and had no issues. You could probably do it more easily by adding a sleep function after the network manager restart to allow it time to reconnecti n original script. This was on a wifi only computer so i could not test against hard line connection. I believe this is the cause of the error.

            1. Thanks for the tips Toby. That seems very useful and can help others struggling. Good job!

    1. So I read through the installer.sh and the only versions to install are i368, Armhf and Armv7, both of which wont work with an original Raspberry Pi or the Zero/Zero W.

      It looks like it redirects Armv6 versions to Armhf, but i’m no expert.

      Looked for manual install version but can’t find any

    2. So i got everything up and running flawlessly on a Nuc with Debian. Thanks for that!

      Updating Home assistant is pretty easy, but what is best practice to update Debian without possible breaking Home assistant? Do i let Home assistant running while i ssh into Debian and update it?
      Or stop Home assistant, update Debian and restart the computer? Thanks in advance

        1. I did the supervised method which works fantastic. There is a new version. What is the process to update Home Assistant?

        1. The procedure is exactly the same as the with Home Assistant OS. You will receive update pending notification under your supervisor menu.

    3. Hi Kpeyanski, great video and great explanation. I have followed all the steps one by one, three times, and always get the same result HomeAssistant core-2021.3.4, not the supervised. How is this possible?. Many thanks in advance.

      1. Hi Antonio, I think you are just fine and you have the Supervised version which include HA core in it and that is perfectly normal. Just go to Configuration > Info and look what is written next to Installation Type. Let me know what happened.

    4. thanks for the guide. working well on pi4 64 bit version. however there is a new fire update out and it doesn’t seem to update from supervisor we interface. do we have to do the install script again to get the latest.?

      1. Strange, this should work. I’m with pi4 and Home Assistant updates are working without any issues from a very long time. Please check your Home Assistant logs for any errors.

    5. I try to install the Supervised Version on a Pi2 with Ubuntu 20.04 LTS, which already runs PiVPN and Pihole/Unbound, but whenever i come to the part, where Docker should be installed, the script gives me this output:
      # Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
      + sh -c apt-get update -qq >/dev/null
      + sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
      + sh -c curl -fsSL “https://download.docker.com/linux/ubuntu/gpg” | apt-key add -qq – >/dev/null
      Warning: apt-key output should not be parsed (stdout is not a terminal)
      + sh -c echo “deb [arch=armhf] https://download.docker.com/linux/ubuntu focal stable” > /etc/apt/sources.list.d/docker.list
      + sh -c apt-get update -qq >/dev/null
      + [ -n ]
      + sh -c apt-get install -y -qq –no-install-recommends docker-ce >/dev/null
      E: Package ‘docker-ce’ has no installation candidate

      Following the Instructions for installation directly from docker doesnt work either and results in the same error. Any Ideas?

      1. I think you should find 32-bit version of docker for raspberry pi. Is the version you are trying to install 32-bit?

    6. A really cool and easy to follow guide!
      Good job, Kiril!
      Thanks for that.

      Everytin ist woring as expected except one crucrial thing:
      Docker is incrementing the spoofed MAC-address afert each reboot.
      How do I prevent Docker form doing that and force it to use the same MAC-address forever?

      I’m seaching the Internet since days but nothing worked.
      Even the –mac-address option didn’t change a thing.

      Any ideas that may help?

    7. Hej,
      First, thanks a lot for this tutorial!
      I went through it to install Home Assistant Supervised cause I want the supervisor and addons. All went fine on my RPI4 + Raspbian.
      Portainer shows me that container “homeassistant/armv7-hassio-supervisor” is running (that’s the only one container that I have). However, I cannot connect to port 8123 and netstat shows nothing is listening on this port.
      What can I do or check from there please ?

      1. All right, few minutes after my post I tried to delete the container to redo the tutorial. But I noticed it kept restarting and restarting again. Then I went to fetch a coffee and noticed this time many more containers had been started. Now it looks like it’s working.
        Conclusion: coffee is usually the answer to most problems.

    8. I went through your process of setting up / installing HA and at each step it went as you described. At the point where the installer script is issued, the process went off and finished all the steps and came back and indicated the Home Assistant Supervised had been installed.

      The strange thing is the install status screen never appeared in my browser when I went to http://MyIP:8123. When I look at docker ps -a it shows everything created, but the first item shows HA exits seconds after it started…

      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      38204ec69e1f homeassistant/raspberrypi4-64-homeassistant:2021.6.2 “/init” About a minute ago Exited (1) 3 seconds ago

      Needless to say I am new to docker and HA and this was my first attempt, but when I go to http://myIP:8123 I see nothing and oddly when I ping homeassistant.local it can’t be found.

      I am not really sure where to start to see if this installation is repairable and I am trying to resist starting from scratch as I have a limited bandwidth network connection, but I am open to all suggestions.

      1. When I execute “docker run” on the homeassistant/raspberrypi4-64-homeassistant image to manually start a new container, it complains that I am trying to run a 64 bit image on a 32 bit host platform.

        Not sure why that is the case as I am pretty sure I installed the raspian 64 bit OS. However, when I query the OS with uname it validates the 32 bit environment.

        So, is there a way I can manually download the homeassistant/raspberrypi4-homeassistant (32 bit image) without having to go through the installer script again? I assume I need a dockerfile to create the new image?

        All guidance appreciated.

    9. Hi, Thanks for the guide. I followed the steps but now I am greeted with a GUI that is not loading at all. I confirmed my IP but it just refuses to connect to http://my_ip:8123 but all the backend file system is created. Any suggestions? Thanks!

      1. I have the same issue. Everything seems to load with no issue, but then I get ‘refused to connect’. I have openmediavault running in a docker so the only thing I didn’t mess with going through this tutorial is installing docker, since it was already installed.

      2. Im having the same exact issue. I confirmed docker is running and used docker ps to confirm that all the home assistant containers are running

    10. Great guide, many thanks. Quick question I’ve decide to move my HA installation to another device, what’s the best way to remove HA after following your guide?

      Many thanks

      1. Hi Bob, you just have to stop and remove all of the HA docker containers. You can do that with docker commands or using portioner (again from docker) for example. Your system will be without any traces of HA after this procedure.

    11. Hi and thanks for the guide!

      i have one question concerning the supervised installation:
      If i go that route will i be able to somehow execute shell commands w root permission on the host machine from within the homeassistant supervised installation? via shh maybe?

      thanks

    12. Thanks for your guide! I was able to install it successfully on my RPi 4!
      I have a question now, I’m trying to install the Reolink custom add on using your guide, but I’m unable to find the correct config folder of HA since it’s behind docker. Is there a way to edit the startup docker command to map homeassistant folder to the local file system?
      Thanks!

      1. Hi Fabio, use the Samba add-on available in the Add-on store to access the config folder on your HA and to upload folder. If you want to just edit files there or upload single files you can use File editor add-on instead. Good luck!

    13. Great install guide. I had to change the docker logging from journald to, for the moment, json-file in ‘/etc/docker/daemon.json’. Sharing in case useful for others.

    14. Hi,
      I’m using a raspberry pi 4 with pi os buster

      I installed following most of the instruction, already had dockers installed with a greater version than requested, 20.10.9, updates & upgrades done

      ran the commands:
      # sudo apt-get install network-manager apparmor-utils jq -y
      # sudo reboot
      # sudo curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh
      # sudo bash installer.sh –machine raspberrypi4

      At the end of the installation it says to connect:
      http://192.168.1.132:8123

      Only the observer has listening ports:
      docker ps
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      fb9a411becb9 ghcr.io/home-assistant/armv7-hassio-multicast:2021.04.0 “/init” 21 minutes ago Up 21 minutes hassio_multicast
      d33815e8b462 ghcr.io/home-assistant/armv7-hassio-observer:2021.06.0 “/init” 21 minutes ago Up 21 minutes 0.0.0.0:4357->80/tcp, :::4357->80/tcp hassio_observer
      7fea187ba5aa ghcr.io/home-assistant/armv7-hassio-cli:2021.09.0 “/init /bin/bash -c …” 22 minutes ago Up 21 minutes hassio_cli
      6d5f928ff4dc ghcr.io/home-assistant/armv7-hassio-audio:2021.07.0 “/init” 23 minutes ago Up 23 minutes hassio_audio
      7b4bdae7f210 ghcr.io/home-assistant/armv7-hassio-dns:2021.06.0 “/init” 23 minutes ago Up 23 minutes hassio_dns
      5c6ec67d686e homeassistant/armv7-hassio-supervisor “/init” 38 minutes ago Up 22 minutes hassio_supervisor

      searching for listening ports, no port 8123 also:
      netstat -lnt
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address Foreign Address State
      tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
      tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
      tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN
      tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN
      tcp 0 0 0.0.0.0:4357 0.0.0.0:* LISTEN
      tcp6 0 0 :::22 :::* LISTEN
      tcp6 0 0 ::1:631 :::* LISTEN
      tcp6 0 0 ::1:6010 :::* LISTEN
      tcp6 0 0 ::1:6011 :::* LISTEN
      tcp6 0 0 :::4357 :::* LISTEN

      Only the observer port and page.

      Home Assistant observer
      Supervisor: Connected

      What am I missing?

      Thanks in advance

    15. Great write up, love your work.

      I have attempted to install a “supervised” setup today, on my NAS box (a Kobol Helios64, which runs on a Rockchip 64 ARM processor.

      I installed the `os-agent`, and had to use the arm7 deb package. Then, when I went to install the `homeassistant-supervised` package, I got this:

      jon@OXYGEN:~/Containers/HomeAssistant$ sudo dpkg -i homeassistant-supervised.1.0.1.deb
      Selecting previously unselected package homeassistant-supervised.
      (Reading database … 40881 files and directories currently installed.)
      Preparing to unpack homeassistant-supervised.1.0.1.deb …
      [warn]
      [warn] If you want more control over your own system, run
      [warn] Home Assistant as a VM or run Home Assistant Core
      [warn] via a Docker container.
      [warn]
      Adding ‘diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised’
      Adding ‘diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised’
      Adding ‘diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised’
      Adding ‘diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised’
      Unpacking homeassistant-supervised (1.0.1) …
      dpkg: dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.

      dpkg: error processing package homeassistant-supervised (–install):
      dependency problems – leaving unconfigured
      Errors were encountered while processing:
      homeassistant-supervised
      jon@OXYGEN:~/Containers/HomeAssistant$ sudo aptitude search os-agent
      i os-agent:armhf – Home Assistant OS Agent
      jon@OXYGEN:~/Containers/HomeAssistant$ uname -a
      Linux OXYGEN 5.10.63-rockchip64 #21.08.2 SMP PREEMPT Wed Sep 8 10:57:23 UTC 2021 aarch64 GNU/Linux
      jon@OXYGEN:~/Containers/HomeAssistant$ lsb_release -d
      Description: Debian GNU/Linux 10 (buster)

      Do you know what I can do so that the `homeassistant-supervised` package recognises the installed `os-agent:armhf` package?

    16. “sudo apt-get install jq wget curl avahi-daemon udisks2 libglib2.0-bin network-manager dbus -y”

      There’s no apparmor here. Please add “apparmor_utils”

        1. Thanks JH. I will update the article to include the apparmor as it was reminded to me from several different places already 🙂

    17. Just installed on a fresh install of raspberry on a pi4, easiest homeassistant install ever. There are 2 things i would add.

      1) Disable WiFi mac randomization:

      To disable the MAC address randomization create the file
      sudo nano /etc/NetworkManager/conf.d/100-disable-wifi-mac-randomization.conf

      with the content:
      [connection]
      wifi.mac-address-randomization=1
      [device]
      wifi.scan-rand-mac-address=no

      2) add apparmor to the Dependence List
      sudo apt-get install apparmor

      1. Very interesting! Didn’t know that I will add it to the article as well and will credit you there. Thanks and keep up with such useful comments 🙂

    18. Amazingly clear guide, Kiril – thanks! Now up and running with Home Assistant Supervised on my RPi 4 8GB on Raspberry Pi OS bullseye (only took a few minutes rather than 20 for the initial setup thanks to the default 1.8GHz clock speed now!)

    19. Thanks for that tutorial, it worked very vell, much appreciated. Unfortunately i cant’ seem to locate the configuration.yaml file, where do I have to look for it?

      1. Hi Stefan,
        try to install File editor add-on from the add-on store and starting you will be able to find and edit the configuration.yaml file very easily.

    20. I am trying to get Home Assistant Supervised on my RPi 4 8GB on Raspberry Pi OS bullseye.
      I am getting stuck because of os-agent. It is installed and I can successfully test it, but the installer cannot find it!
      Can anyone please help me?

      pi@raspberrypi:~ $ gdbus introspect –system –dest io.hass.os –object-path /io/hass/os
      node /io/hass/os {
      interface org.freedesktop.DBus.Introspectable {
      methods:
      Introspect(out s out);
      signals:
      properties:
      };
      interface org.freedesktop.DBus.Properties {
      methods:
      Get(in s interface,
      in s property,
      out v value);
      GetAll(in s interface,
      out a{sv} props);
      Set(in s interface,
      in s property,
      in v value);
      signals:
      PropertiesChanged(s interface,
      a{sv} changed_properties,
      as invalidates_properties);
      properties:
      };
      interface io.hass.os {
      methods:
      signals:
      properties:
      @org.freedesktop.DBus.Property.EmitsChangedSignal(“invalidates”)
      readonly s Version = ‘1.2.2’;
      @org.freedesktop.DBus.Property.EmitsChangedSignal(“true”)
      readwrite b Diagnostics = false;
      };
      };
      pi@raspberrypi:~ $ sudo dpkg -i homeassistant-supervised.deb
      Selecting previously unselected package homeassistant-supervised.
      (Reading database … 179975 files and directories currently installed.)
      Preparing to unpack homeassistant-supervised.deb …
      [warn]
      [warn] If you want more control over your own system, run
      [warn] Home Assistant as a VM or run Home Assistant Core
      [warn] via a Docker container.
      [warn]
      [warn] ModemManager service is enabled. This might cause issue when using serial devices.
      Adding ‘diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised’
      Adding ‘diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised’
      Adding ‘diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised’
      Adding ‘diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised’
      Unpacking homeassistant-supervised (1.0.2) …
      dpkg: dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.

      dpkg: error processing package homeassistant-supervised (–install):
      dependency problems – leaving unconfigured
      Errors were encountered while processing:
      homeassistant-supervised
      pi@raspberrypi:~ $

    21. Thank you for this tutorial. Unfortunately, it did not work for me. I’ve got the “connexion refused error”. Any ideas how to fix this please ?

    22. So, I’ve followed this (great and easy to get) guide, but I’m ending up with the following in HA Supervisor System:
      [supervisor.resolution.evaluations.base] AppArmor is required for Home Assistant. (more-info: https://www.home-assistant.io/more-info/unsupported/apparmor)
      and
      [supervisor.dbus.manager] Can’t load dbus interface de.pengutronix.rauc: The name de.pengutronix.rauc was not provided by any .service files

      I’ve checked on Raspbian:
      sudo aa-status
      apparmor module is loaded.

      I’m running Bullseye and everything is up to date. Any thoughts on this?

      1. I am having a similar issue but aa-status shows
        apparmor module is loaded.
        apparmor filesystem is not mounted.
        pi@test:~ $ aa-enabled
        No – disabled at boot.

        were you ever able to get your AppArmor enabled at boot?

    23. Hi, thanks for a great article. 2 thing for the supervised install. 1. Your instructions miss the requirement to install AppArmor. 2. I think there is an issue with app armor and a simple raspberry image. If you reboot the machine and check the logs – it will say AppArmor isn’t running. Same if you do a service apparmor status. I found this comment “I’m guessing you didn’t add lsm=apparmor to cmdline.txt.” on https://github.com/raspberrypi/linux/pull/1698. After adding this entry – I no longer get errors about app armor.

      Thanks again

    24. thank you thank you and thank you finally after using countless websites even homeassistant webpage
      got the full monty HomeAssistant installed up and running thanks ti this tutorial.

    25. My linux host where I have installed docker and Home-Assistant following all the instructions in this article has an IP of 192.16.20.113. When I try to browse to 192.168.20.113:8123 I get connection refused.

      Ive been researching this problem for a while now and believe I need to port forward to the containers listening port. However i am not sure how to do that.

    26. Thanks for a great guide and all the help in the comments. Very useful. Some of it wasn’t quite right and I couldn’t get it working correctly. However, running with “2021-10-30-raspios-bullseye-arm64.img”, I’ve got it working – I’ve included below every step I did to get it working. Hope it’s of use:

      Obviously make sure you’re fully up to date:
      sudo apt update && sudo apt upgrade -y
      sudo apt full-upgrade -y && sudo apt dist-upgrade -y && sudo apt autoremove -y
      sudo reboot now

      1. SSH as pi
      2. Download and install Docker using their own script.
      sudo curl -sSL https://get.docker.com | bash
      3. Add account to the Docker group
      sudo usermod -aG docker pi

      4. Configure Network Manager before installing it as it will set random MAC addresses for the device each time it reboots
      sudo mkdir /etc/NetworkManager
      sudo mkdir /etc/NetworkManager/conf.d

      sudo nano /etc/NetworkManager/conf.d/100-disable-wifi-mac-randomization.conf
      Add the following to the end
      [connection]
      wifi.mac-address-randomization=1
      [device]
      wifi.scan-rand-mac-address=no

      5. Install required dependencies
      sudo apt install \
      jq \
      wget \
      curl \
      avahi-daemon \
      udisks2 \
      libglib2.0-bin \
      network-manager \
      dbus \
      apparmor -y

      **there might be intermittent ping drops as Network Manager configures. Hopefully the session will resume, if not, it might need to be run on the console.

      6. AppArmor isn’t included in ‘official’ instructions, but is also needed (included above)

      a. Configure AppArmor:
      sudo nano /boot/cmdline.txt
      Add the following to the end
      lsm=apparmor

      b. Reboot
      sudo reboot

      c. Check AppArmor is installed
      sudo aa-status

      7. If there’s anything broken, try:
      sudo dpkg –configure -a
      sudo apt –fix-broken install

      8. OS Agent
      a. Find the latest version of OS-Agent
      https://github.com/home-assistant/os-agent/releases/latest

      b. Download the package
      cd ~
      wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_aarch64.deb

      c. Install the agent
      sudo dpkg -i os-agent_1.2.2_linux_aarch64.deb

      d. Confirm the agent is installed (not quite sure what this is supposed to return, but lines of code looks good)
      sudo gdbus introspect –system –dest io.hass.os –object-path /io/hass/os

      9. Home Assistant Supervised Debian Package
      a. Download the package
      wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

      b. Install the package
      THIS WILL FAIL AS IT RESTARTS NETWORK – RUN THROUGH TERMINAL ONLY!!!
      sudo dpkg -i homeassistant-supervised.deb

      c. Select the OS from the menu
      Raspberrypi4-64
      [The guide indicated in a screenshot to select raspberrypi4 – Assumed 32-bit?]

      d. If there’s an error, try running the install again

      10. BE PATIENT !!!
      Run “htop” and see if Docker is using lots of CPU/RAM,
      Run “sudo docker ps -a” to see the Docker containers

      1. Hi @AubsUK,
        Your instruction to install os-agent_1.2.2_linux_aarch64.deb instead of the os-agent_1.2.2_linux_armv7.deb actually saved my day. Thank you very much!
        I have been struggling to go past the os-agent issue for months. I was installing os-agent_1.2.2_linux_armv7.deb, and then the homeassistant-supervised.deb installation would not find it (os-agent).
        Maybe Kiril will edit the HOWTO, or maybe I am a little dump following the instructions he gave 🙂

        1. Many thanks for the guidance in installing HA in Rapsberry Pi, but can anyone help
          me with the error below…thanks in advance

          — version.home-assistant.io ping statistics —
          1 packets transmitted, 1 received, 0% packet loss, time 0ms
          rtt min/avg/max/mdev = 16.163/16.163/16.163/0.000 ms
          Device “eth0
          eth0” does not exist.
          [info] Install supervisor Docker container
          [info] Install supervisor startup scripts
          [info] Install AppArmor scripts
          [info] Start Home Assistant Supervised
          [info] Installing the ‘ha’ cli
          [info] Within a few minutes you will be able to reach Home Assistant at:
          [info] http://homeassistant.local:8123 or using the IP address of your
          [info] machine: http://:8123
          pi@raspberrypi:~ $

        2. For some strange reason, after installing HA on my RP4 (8GB) running 64-bit Bullseye, I am unable to do two things:
          Once I Home Assistant is running, two issues arose:
          (a) YT videos will not play at all. In fact, when I navigate to www. youtube.com, I variously get the message that I am not connected to the Internet
          (b) When I click on Menu->Preferences->Recommended Software, I get the same error I mentioned in my initial post.
          Strangely, browsing other Internet pages is working okay
          I am beginning to suspect something to do with the creation of /etc/NetworkManager/conf.d/100-disable-wifi-mac-randomization.conf from the above HOWTO, but I am not sure. I am completely stumped.
          For those who have used these guides here and installed Home Assistant, are you able to play YT videos and as well successfully run Menu->Preferences->Recommended Software??

      2. Big thanks to Kiril for getting me started on this and thanks to AubsUK for the advice on the OS agent which did not work without it (1.3.0) and thanks to Washington for the extra push in that direction . My Raspb pi 4 working with Bullseye perfectly.

    27. I’ve tried to post a summary step by step that I successfully used, which include a couple of minor changes to the above, but it’s not showing up. Has it been blocked by Akismet?

      1. Hi AubsUK,
        first of all, hats down for your comment! Thank you very much for the effort. Second, comments are hold for approval before shown up below articles. I believe everything is fine now with your comments. Once again, thanks for the comments I will take a deeper look/try few things later and maybe I will further update the article.
        Keep up the good work!

    28. Worked after some issues but that was due to my stupidity and beginner-knowledge.
      Workes on 23.12.2021

      If you cant open the adress… be patient. You can check the logs in portainer. Its installing a lot. give it some time as mentioned by OP. 5-10 min

    29. This worked great on raspberry pi zero 2 w. Used the same agent as this tutorial and installed raspberrypi3 HA-supervised

    30. Great tutorial, followed EVERY stem to the T, but the Supervisor item is missing from the Menu, what am I missing? Thanks!!!

      1. They moved the supervisor location with Home Assistant 2021.12 release. Now it is located under Configuration > Add-Ons, Backups & Supervisor. Please check there!

    31. I posted this question yesterday, don’t know what happened to it, so posting again. I followed your fantastic documentation and ended up with a working Home Assistant installation. However, the “Supervisor” link is missing from the menu. Can you please advise? Thanks!!

    32. Hi,
      I have installed everything successfully, all containers are running but the homeassistant container is not running. I tried starting it using portainer as well as ‘docker start homeassistant’ command.

      One more thing, in the last step, it didn’t ask me to select machine type, it automatically installed ghcr.io/home-assistant/generic-x86-64-homeassistant:landingpage.

      I’m using raspberry pi 4 with 8GB of Ram.

    33. Hi Kiril, I have followed your guide and I have installed on my Raspberry4 HA, the only problem is that I have not found the Supervisor menu, is it possible that from November to today something has been changed and that it is necessary to update the guide? hello and congratulations again, ciao from Italy

      1. Yes, there are few changes in the Home Assistant layout, but nothing major. They moved the supervisor location with Home Assistant 2021.12 release. Now it is located under Configuration > Add-Ons, Backups & Supervisor. Please check there!

    34. If you are getting “package architecture (armhf) does not match system (arm64)”

      You will have to run: “dpkg –add-architecture armhf”

    35. Thank you for your article, with your help I have managed to get Home Assistant running on an old Raspberry Pi 2 Model B despite being told by everybody that it wouldn’t even install on anything less than a P1 3. My need for Home Assistant is limited to control of heating and lights in an outbuilding and my only Pi 3 is on my 3D printer while I have several Pi 2s available – that and the fact that Amazon has the Pi 4 at £80 to £140, a far cry from the £29.95 I paid for the old ones.

      I will now watch your “My YouTube Home Assistant Playlist” as I fit well in the class of people who don’t know what to do next.

      Mike

    36. Is there a way to install the supervised version completely inside a container? (basically without affecting the host OS with the installation of the dependecies). Also it is not very clear how can we backup the supervised system, which directories are storing useful data? (or just rely on the snapshot?)

      1. Just use snapshots for backup and on the first question AFAIK it is not possible. If you want HA entirely inside container you should you’d HA container installation 🙂 but you will lose the supervisor/add-on store that way.

      2. Other than the suggestion from Kiril about using the non-Supervised version, if you want it completely containerised, and are happy to have everything else containerised too, you could always try installing VMware ESXi on the host.

        It even installs on a Pi! – https://youtu.be/6aLyZisehCU but I’ve not tried it);

        Then you can have one Virtual Machine for Home Assistant and a separate OS for the remainder of the system, so basically two VMs on top of the Pi or other hardware.

        Probably not be the best performance, but that’s sometimes what you have to accept. You probably wouldn’t be able to (though never say never) passthrough the HDMI to the guest. I suspect only ethernet would work too and not WiFi.

        Though if you’re using other hardware like a desktop computer, you might be able to get the passthrough working.

    37. Thanks for the excellent guide.
      I have been running Hassio for quite a while but want more from the setup and thought about moving to a linux (Debian) host and having that little bit more control, with the comfort of HA taking care of itself.
      With your guide, it was straight forward and I feel empowered 🙂

      Lets hope I take the responsibility successfully and don’t break the system 😉

    38. Hi Kiril,

      As mentioned before, this is a clear guide to install the supervised HA.
      It worked without any issue on a RaPi 3b+ with a USB SSD.
      But, there is always a but, I had my Pi already setup with a fixed eth0 ip address and the Wi-Fi wlan0 as an Access Point.
      After the installation, I now have 2 ip addresses on the eth0. Both of them working. I can connect shh on both of them.
      The Wi-Fi installation is completely broken.
      I have no clue where the network setup of HA is stored ad how to change it.

      Can you shed some light on this 🙂

    39. Hey, installations worked like a charm, thanks!

      One thing though, how do I grant access to USB ports?

      According to the internet, I should be adding (more or less) the following to the docker-compose.yml:

      version: ‘3’
      services:
      homeassistant:
      container_name: home-assistant
      image: homeassistant/home-assistant:stable
      volumes:
      – /hass/config:/config
      – /etc/localtime:/etc/localtime:ro
      – /dev/serial/by-id:/dev/serial/by-id
      devices:
      – /dev/ttyUSB0:/dev/ttyUSB0
      – /dev/ttyUSB1:/dev/ttyUSB1

      How do I find location of aforementioned file?

      Thanks in advance!

    40. I am not sure if my comment was successfully posted the last time, so I will go again.

      Thanks for the guide, it worked like a charm. It some some 10 minutes to get HA installed. I do have an issue however, as I struggle to get my zigbee devices connect to the cc2652p dongle. I am configuring as I should (as it simply works on standalone HA OS when installed on RPi4) but I simply cannot add my devices. I have permit join set to on and etc, but I just cannot. SO I figured out that most probably I need to give access to specific port to the docker image. Now the question: how can I achieve it?

      I should be adding code similar to this into the docker-compose.yml file according to documentation:
      version: ‘3’
      services:
      homeassistant:
      container_name: home-assistant
      image: homeassistant/home-assistant:stable
      volumes:
      – /hass/config:/config
      – /etc/localtime:/etc/localtime:ro
      – /dev/serial/by-id:/dev/serial/by-id
      devices:
      – /dev/ttyUSB0:/dev/ttyUSB0
      – /dev/ttyUSB1:/dev/ttyUSB1\

      But the problem is that I have no clue where should I be looking for aforementioned file. Any advice?

    41. Thanks for your work I installed this twice on a x64 system dedicated to running Open Media Vault. I downloaded os-agent_1.2.2_linux_x86_64.deb. Both times it never gave me the “Select the OS from the menu” option. Home Assistant was installed and works. But the Supervisor logs are never shown, also for any add-ons the log files are blank and not shown.
      Any help with this problem would be appreciated.

      1. Hello,
        Super tutorial. I follow every step to install on a raspberry pi 4 4gb and SSD 32 Gb
        It loooks like the power supply I was using and that was working without problems with the HA io fails several time with this setup. It tooks me some time to realize this was my problem!!
        One again thanks for sharing your knowledge to goods amateurs like me

    42. I followed the guide but accidently hit 64 bit when installing homeassistant-supervised.deb, when my system is 32bit, which means it won’t start.
      How do I start the process over? When i do pkgd -i homeassistant-supervised.deb it just reinstalls with 64 bit without allowing me to select.

      1. Try with dpkg –remove homeassistant-supervised.deb or even better with dpkg –purge homeassistant-supervised.deb

    43. hi and thanks for this detailed tutorial!
      Which installer method would you recommend to be able to mount usb drives to the homeassistant container?
      Would love to hear your opinion!

    44. Hi Kiril,
      big thanks for your great tutorial!

      Now I am standing at the same problem as zablotzky does (3 posts up).

      I found a docker-compose.yml file too. But I am wondering how to use it in combination with your tutorial.

      Would be great if you could give a hint how to map usb-hardware like a zigbee-stick to the home-assistant container, so you can use it.

    45. Hi, it’s not working for the current version of Raspberry Pi OS 11.
      Up until the package installer of Supervised works, afterwards I get an error.
      Running this command:
      sudo dpkg -i homeassistant-supervised.deb
      outputs this error:
      dpkg: dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.

      dpkg: error processing package homeassistant-supervised (–install):
      dependency problems – leaving unconfigured
      Errors were encountered while processing:
      homeassistant-supervised

      Any idea what could be the problem?

      I also made a post about it on reddit.
      https://www.reddit.com/r/homeassistant/comments/sp9jzg/ha_supervised_rpi4/?utm_source=share&utm_medium=web2x&context=3

    46. I am trying to install Home Assistnant on Lenovo Yoga 900 but without success.
      It is laptop equipped with wifi card only. There is no ethernet (RJ45) socket.
      I passed all steps up to homeassistant-supevised.deb installation.
      Al previous steps went without issues but I have stucked in Home Assistant Supervised package installation.
      Maybe someone from you could help me with my problem. I do not know what to do. I also searche internet but I could not find any similar problem to mine.
      I put below screen from terminal.

      homeassistant@HA:~/Downloads$ sudo dpkg -i homeassistant-supervised.deb
      (Reading database … 310954 files and directories currently installed.)
      Preparing to unpack homeassistant-supervised.deb …
      [warn]
      [warn] If you want more control over your own system, run
      [warn] Home Assistant as a VM or run Home Assistant Core
      [warn] via a Docker container.
      [warn]
      [warn] ModemManager service is enabled. This might cause issue when using serial devices.
      Leaving ‘diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised’
      Unpacking homeassistant-supervised (1.1.0) over (1.1.0) …
      Setting up homeassistant-supervised (1.1.0) …
      [info] Restarting NetworkManager
      [info] Restarting docker service
      ping: version.home-assistant.io: Name or service not known
      [info] Waiting for version.home-assistant.io – network interface might be down…
      ping: version.home-assistant.io: Name or service not known
      [info] Waiting for version.home-assistant.io – network interface might be down…
      ping: version.home-assistant.io: Name or service not known
      [info] Waiting for version.home-assistant.io – network interface might be down…
      ping: version.home-assistant.io: Name or service not known
      [info] Waiting for version.home-assistant.io – network interface might be down…
      PING version.home-assistant.io (104.26.4.238) 56(84) bytes of data.
      64 bytes from 104.26.4.238 (104.26.4.238): icmp_seq=1 ttl=54 time=40.9 ms

      — version.home-assistant.io ping statistics —
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 40.870/40.870/40.870/0.000 ms
      [info] Install supervisor Docker container
      Error response from daemon: Get “https://ghcr.io/v2/”: dial tcp: lookup ghcr.io on [::1]:53: read udp [::1]:59846->[::1]:53: read: connection refused
      dpkg: error processing package homeassistant-supervised (–install):
      installed homeassistant-supervised package post-installation script subprocess returned error exit status 1
      Errors were encountered while processing:
      homeassistant-supervised

    47. I found possible solution but you can download file but it is empty.
      https://www.reddit.com/user/Ramona00/

      Ramona00
      1 point ·
      4 months ago

      I just had the same error and resolved it.

      The cause is that you’re probably using WiFi as connection. The installer is restarting the network interface and then not waiting for WiFi to reconnect first. Solution, add a delay in the installer script:

      First get the installer files

      “sudo curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh

      Then edit the file using VI

      “vi installer.sh”

      Then navigate to the lines

      info “Restarting NetworkManager

      systemctl restart “${SERVICE_NM}

      Now add here

      info “Delay 20 seconds to give WiFi time to reconnect…..”

      “sleep 20″

      so:


      info “Restarting NetworkManager
      systemctl restart “${SERVICE_NM}

      info “Delay 20 seconds to give WiFi time to reconnect…..”

      sleep 20

      Then save by pressing “:” and then “x” and “enter.

      Problem resolved…!

    48. Hi Kiril,

      Great work! Thanks for sharing this. I managed to install as per your instructions.

      I am trying to grant i2c privilege to Home assistant. What would be the steps to match this configuration.

    49. Unfortunately solution I showed two comments above dooes not work in my case.

      I will have to check as a last resort is to buy adapter USB to LAN and connect Lenovo Yoga 900 via wire to router.

    50. Thank you, I installed ha supervised by your instructions and everything works fine.
      Just a question. My ha reports that the installation is unhealthy and unsupported. What does it mean unhealthy?

    51. Hi Kiril,
      great work, well explained. I have HA up and running. Nevertheless, I’m missing an essential part in this installation: I am able to backup my configuration but I couldn’t find any way to restore, since “snapshot” is not avail in my config. Any hints ? Thank you very much !

    52. Hello,
      I have used your procedure many times for ha supervised.
      On NUC, Pi 3, Pi 4 and …. on X96 mini box (armbian 20.10 buster Amlogic S905W)
      It always worked.
      Unfortunately, I try to install a new X96 with the same procedure as the first and it is impossible to install docker-ce. (probably because buster is obsolete and it is not possible to install it on bullseye (armbian).
      I can install docker.io but the install script doesn’t work because it tells me to need docker-ce.
      Is there a solution
      Thank you

    53. Hey,

      I just wanted to say thank you very much for this write-up! It was exactly what I was looking for given my current setup and wants for my smart home project. IMO, this should be part of HA’s official documentation with the disclaimer of support similar to the one that’s in HA Supervisor when installing it on an RPi4.

    54. Installation fails 🙁
      Raspberry Pi 4
      Linux raspberrypi 5.10.103-v8+ #1530

      sudo dpkg -i homeassistant-supervised.deb
      produces the following output

      Leaving ‘diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised’
      Unpacking homeassistant-supervised (1.1.0) over (1.1.0) …
      dpkg: dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.

      dpkg: error processing package homeassistant-supervised (–install):
      dependency problems – leaving unconfigured
      Errors were encountered while processing:
      homeassistant-supervised

      Any ideas ?

    55. duo dpkg -i homeassistant-supervised.deb produces:

      Leaving ‘diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised’
      Unpacking homeassistant-supervised (1.1.1) over (1.1.1) …
      Setting up homeassistant-supervised (1.1.1) …
      [info] Restarting NetworkManager
      [info] Restarting docker service
      PING version.home-assistant.io (172.67.68.90) 56(84) bytes of data.
      64 bytes from 172.67.68.90 (172.67.68.90): icmp_seq=1 ttl=60 time=34.1 ms

      — version.home-assistant.io ping statistics —
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 34.143/34.143/34.143/0.000 ms
      Device “eth0
      eth0” does not exist.
      [info] Install supervisor Docker container
      [info] Install supervisor startup scripts
      [info] Install AppArmor scripts
      [info] Start Home Assistant Supervised
      [info] Installing the ‘ha’ cli
      grep: /etc/default/grub: No such file or directory
      [info] Switching to cgroup v1
      cp: cannot stat ‘/etc/default/grub’: No such file or directory
      dpkg: error processing package homeassistant-supervised (–install):
      installed homeassistant-supervised package post-installation script subprocess returned error exit status 1
      Errors were encountered while processing:
      homeassistant-supervised

      Can anyone help with this? Thank you!

      1. I encountered the same issue on my RaspberryPi 3. I think this is a recent bug with the installer since ARM architectures do not use the grub bootloader. I’ve tried both 32 and 64 bit OSs with the same issue. Interestingly, the containers actually spin up and you can access Homeassistant. The annoying thing is that apt marks the package as “half-configured” and tries to fix it with any future install causing HA to fail. I edited my “/var/lib/dpkg/status” file to mark the package as “installed” and hoping for the best. HA runs fine and restarts properly after boot.

        1. Thank you for the response! Sorry I’m not very linux savvy, could you list the commands necessary to do that?

          1. NB: This is not a “solution”. This is just a temporary workaround until we have answers on why the ARM installer tries to access grub.

            # Open the dpkg file using vi or nano
            sudo nano /var/lib/dpkg/status

            # Search for the homeassistant entry in the file
            # and change “half-configured” to “installed”

            # Mark the apt package on hold
            sudo apt-mark hold homeassistant-supervised

            You should now be able to use apt normally without it trying to configure homeassistant on every action.

            1. I was getting stuck first at os-agent not being detected and then this little snag. Thanks!

            2. I’ve bullied it with

              sudo touch /etc/default/grub
              sudo ln -s /bin/true /bin/grub-update

              The former creates an empty config file and the latter returns 0 (no error) upon grub-update command call.

              I’ve yet to see how it works..It just warns me about grub:
              [warn] A reboot is required to apply changes to grub.

    56. Installing the ‘ha’ cli
      I am getting the following erorr, anyone know the problem.
      grep: /etc/default/grub: No such file or directory
      [info] Switching to cgroup v1
      cp: cannot stat ‘/etc/default/grub’: No such file or directory
      dpkg: error processing package homeassistant-supervised (–install):
      installed homeassistant-supervised package post-installation script subprocess returned error exit status 1

    57. Hi, first off thanks for putting this up, much easier to follow than the official version. I have installed this on a x86 thin client I bought, due to lack of and current prices of raspberry pi’s. I installed it onto a Ubuntu server installation. Seems to work perfectly, only problem is when I restart the ubuntu OS or machine, all my configuration is lost and its a fresh install of home asking me to register again. I’m guessing its something simple, something to do with Docker maybe? – any one have similar and fixed it?

      Cheers!!

    58. Need Help Guys

      Rasp pi 3 I get :

      — version.home-assistant.io ping statistics —
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 34.143/34.143/34.143/0.000 ms
      Device “eth0
      eth0” does not exist.
      [info] Install supervisor Docker container
      [info] Install supervisor startup scripts
      [info] Install AppArmor scripts
      [info] Start Home Assistant Supervised
      [info] Installing the ‘ha’ cli
      grep: /etc/default/grub: No such file or directory
      [info] Switching to cgroup v1
      cp: cannot stat ‘/etc/default/grub’: No such file or directory
      dpkg: error processing package homeassistant-supervised (–install):
      installed homeassistant-supervised package post-installation script subprocess returned error exit status 1
      Errors were encountered while processing:
      homeassistant-supervised

      Any ideas??

      thanks

    59. Hi,
      Great article!
      I am installing HASS on RPi4, 4GB via ssh. Everything went smoothly until `dpkg -i homeassistant-supervised.deb`, I get this error:
      (Reading database … 36968 files and directories currently installed.)
      Preparing to unpack homeassistant-supervised.deb …
      [warn]
      [warn] If you want more control over your own system, run
      [warn] Home Assistant as a VM or run Home Assistant Core
      [warn] via a Docker container.
      [warn]
      [warn] ModemManager service is enabled. This might cause issue when using serial devices.
      Leaving ‘diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised’
      Unpacking homeassistant-supervised (1.1.1) over (1.1.1) …
      dpkg: dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.

      dpkg: error processing package homeassistant-supervised (–install):
      dependency problems – leaving unconfigured
      Errors were encountered while processing:
      homeassistant-supervised

      Is this because I run the command via ssh? How should I run this command via ssh without error?

    60. Anyody had the issue to get the docker file issue:

      sudo curl -sSL https://get.docker.com | bash
      # Executing docker install script, commit: 0221adedb4bcde0f3d18bddda023544fc56c29d1
      + sudo -E sh -c ‘apt-get update -qq >/dev/null’
      E: The repository ‘https://download.docker.com/linux/debian bookworm Release’ does not have a Release file.

    61. After wrestling with grub errors and finally getting to
      “Within a few minutes you will be able to reach Home Assistant…”
      Navigating to either homeassistant.local:8123 or the IP address of the Pi, I get “The site can’t be reached” error in the browser. Anybody else encounter / resolve this?

      1. Just scroll the comments on this page and look for AubsUK and follow his instructions to the letter!
        Let me know how it goes after that.

    62. Hey I’m trying to set this up on a raspberry pi. I got it installed and set up properly, but I’m trying to access it from my Android phone. I previously had his running on a separate raspberry pi running Home Assistant OS, but have switched to the supervised version of the install. When trying to access it via the app now, it’s not finding the instance. I’ve tried uninstalling, clearing the cache and removing all the data from the homeassist app install. Any suggestions here?

    63. HI Kiril
      folloqed your tutorial with Ubuntu 22.04 and on Raspi4 4GB and everything is fine.

      ONE question:
      Such Supervisored Hoassio is dockerized (off course).
      WHERE can i find in the file system the config of Hoassio ?
      Are they “hiddend” in some way, or is it possibile to edit e create config.yamal and automation.yamal with a normal editor ?

      For now, the only thing I can use is the”file editor” plugin, but would be more convenient to find the real file on the file system.
      Where can I find them with this kind of installation ?

      BR
      Giuliano

    64. I tried, did all steps including receiving an answer on os Agent. But I got this error: dpkg: dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.

      dpkg: error processing package homeassistant-supervised (–install):
      dependency problems – leaving unconfigured
      Errors were encountered while processing:
      homeassistant-supervised

    65. I have installed a fresh copy of Raspberrypi OS x64 bit. I then followed your procedure to install Home Assistant Supervised. But I get the same error as discussed in this chat. I even tried installing the older release of os-agent but still installation of HA failed with the same error :
      homeassistant-supervised depends on os-agent

    66. # dpkg -i homeassistant-supervised.deb (Reading database … 93426 files and directories currently installed.)
      Preparing to unpack homeassistant-supervised.deb …
      [warn]
      [warn] If you want more control over your own system, run
      [warn] Home Assistant as a VM or run Home Assistant Core
      [warn] via a Docker container.
      [warn]
      [warn] ModemManager service is enabled. This might cause issue when using serial devices.
      Leaving ‘diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised’
      Leaving ‘diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised’
      Unpacking homeassistant-supervised (1.2.2) over (1.2.2) …
      dpkg: dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.

      dpkg: error processing package homeassistant-supervised (–install):
      dependency problems – leaving unconfigured
      Errors were encountered while processing:
      homeassistant-supervised

    67. First of all – great work here! Thanks for this detailled information, not only written but also avail as a YouTube Video.

      I only recently started to play with Home Assistant. Reason here is, that over time I collected some IoT devices that all come with an own app. I want to add all my devices to one app only, therefore I want to use Home Assistant.

      I need the Supervised Installation (tried the docker and the core already) because I have SonOff devices that apparently are only supported by this particular installation method, if one does not want to mess with Tasmota firmware.

      Anyway, the installation method worked with just one exception: I am running a Raspberry 3B and instead of using the OS Agent “armv7” I had to use “aarch64”. With “armv7” I always got a dependency error when I tried to run “sudo dpkg -i homeassistant-supervised.deb”.

    68. Thanks for the tutorial.
      I have a problem, and is that when installing the home assistant package, it says that os agent is missing, but i checked the command to see if it is working and it is, so I would appreciate some help.
      Here is what the instalation says:
      root@raspberrypi:~# sudo dpkg -i homeassistant-supervised.deb
      Seleccionando el paquete homeassistant-supervised previamente no seleccionado.
      (Leyendo la base de datos … 165655 ficheros o directorios instalados actualmente.)
      Preparando para desempaquetar homeassistant-supervised.deb …
      [warn]
      [warn] If you want more control over your own system, run
      [warn] Home Assistant as a VM or run Home Assistant Core
      [warn] via a Docker container.
      [warn]
      [warn] ModemManager service is enabled. This might cause issue when using serial devices.
      Añadiendo `desviación de /etc/NetworkManager/NetworkManager.conf a /etc/NetworkManager/NetworkManager.conf.real por homeassistant-supervised’
      Añadiendo `desviación de /etc/NetworkManager/system-connections/default a /etc/NetworkManager/system-connections/default.real por homeassistant-supervised’
      Añadiendo `desviación de /etc/docker/daemon.json a /etc/docker/daemon.json.real por homeassistant-supervised’
      Añadiendo `desviación de /etc/network/interfaces a /etc/network/interfaces.real por homeassistant-supervised’
      Desempaquetando homeassistant-supervised (1.2.2) …
      dpkg: problemas de dependencias impiden la configuración de homeassistant-supervised:
      homeassistant-supervised depende de os-agent.

      dpkg: error al procesar el paquete homeassistant-supervised (–install):
      problemas de dependencias – se deja sin configurar
      Se encontraron errores al procesar:
      homeassistant-supervised

    69. Thanks a lot!
      Your “how to” worked perfectly on my Debian 11 Linux amd64 with LAN connection.
      I just wandered about ” diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised”

      1. You are welcome Tom. I’m not sure about that diversion, probably it is somehow related to the HA containers that are created.

    70. For everyone having issues with the “homeassistant-supervised depends on os-agent.”-error, then it can be solved by downloading the correct os-agent.

      I had a Raspberry Pi 4 with 64-bit installed, so instead I had to download the os-agent that ended with “aarch64.deb” instead of “armv7.deb”

      Hope that helps!

    71. First of all great tutorial, works great. Maybe you can help me. I prefered this installation method because i wanted to use my home assistant on my raspberry pi 4 for more fun stuff. With docker this is great. So i have added several other programs and still the raspberry pi 4 uses low cpu. But now i am facing a problem. There are several updates for home assistant and addons. When i want to update i get Error updating Home Assistant Core ‘HomeAssistantCore.update’ blocked from execution, system is not healthy¨

      The system is unhealthy and unsupported because there are several other containers besides HA. Is there a workaround for this?

    72. If it is docker under unhealthy is 100% portainer, had one just do it.

      Do this:

      sudo docker stop portainer
      sudo docker restart hassio_supervisor
      Update home assistant
      sudo docker start portainer

    73. Had to use another os-agent to finish without errors. I had to download the os-agent that ended with “aarch64.deb” finished ok but started Home assistant and is hung on “Preparing Home Assistant”
      ??

    74. Hi after the cmd udo dpkg -i homeassistant-supervised.deb I am just getting this error and cant succed

      Unpacking homeassistant-supervised (1.3.1) over (1.3.1) …
      dpkg: dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.
      homeassistant-supervised depends on systemd-journal-remote; however:
      Package systemd-journal-remote is not installed.

      dpkg: error processing package homeassistant-supervised (–install):
      dependency problems – leaving unconfigured
      Errors were encountered while processing:
      homeassistant-supervised

    75. ugh homeassistant devs do not like using their soft on unsupported os…

      sudo dpkg -i –force-all homeassistant-supervised.deb
      (Reading database … 192023 files and directories currently installed.)
      Preparing to unpack homeassistant-supervised.deb …
      [warn]
      [warn] If you want more control over your own system, run
      [warn] Home Assistant as a VM or run Home Assistant Core
      [warn] via a Docker container.
      [warn]
      [error] Ubuntu 22.04.1 LTS is not supported!
      dpkg: error processing archive homeassistant-supervised.deb (–install):
      new homeassistant-supervised package pre-installation script subprocess returned error exit status 1
      [info] Undo divert on abort-install
      No diversion ‘diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised’, none removed.
      No diversion ‘diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised’, none removed.
      No diversion ‘diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised’, none removed.
      No diversion ‘diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised’, none removed.
      [info] Resetting debconf selections
      [info] Removal complete, due to the complexity of this installation method,
      [info] you will need to manually remove the containers created by the supervisor
      Errors were encountered while processing:
      homeassistant-supervised.deb

      1. I´ve tried it on a RPi3 and it finished with [error] Raspbian GNU/Linux 10 (buster) is not supported!

    76. For anyone using this method still here is what you need
      Ubuntu 18.04

      When you have downloaded the main installer for ha create a blank folder and move the installer to that folder. Then in a command window go to that folder.

      next enter: mkdir tmp
      dpkg-deb -R homeassistant-supervised.deb tmp
      # edit DEBIAN/preinst and change the following line
      BYPASS_OS_CHECK=${BYPASS_OS_CHECK:-false} (that is the old line)
      BYPASS_OS_CHECK=${BYPASS_OS_CHECK:-true} (that is the new line)
      save the file and exit
      from the root of the folder we created at the beginning enter
      dpkg-deb -b tmp fixed.deb
      then install thee fixed package using dpkg.

      1. Sorry
        THEN
        apt install ./fixed.deb
        apt –fix-broken install
        The system will fix some systemctl-journal issues reboot voila!

          1. It really works, but you have to use older version of HA. Newer supports only Debian 12 with systemd-resolved

    77. 64 bit raspi os or wathewer you call it, clean install 4th time only to try to get hassio supervised at least but always get

      dependency problems prevent configuration of homeassistant-supervised:
      homeassistant-supervised depends on os-agent.

      i am giving it up

      1. went to debian vanila to install hassio sypervised which is only supported.. no way to get is work

        this is endless shit

    78. With newer HA releases, you have to use the 1.2.2 version of homeassistant-supervised.deb on your RPi4 w/Raspbian. It will still install the latest version, it just doesn’t do the OS check. This worked for me a few months ago anyway.

    Leave a Reply

    Your email address will not be published. Required fields are marked *