Installing Home Assistant Supervised on Raspberry Pi OS

I used your script for installation, unfortunately after installing NM the RPi4 keeps on randomizing it’s MAC and getting different IPs over WiFi after each reboot so I made a small modifications in conf.d to cancel the randomization.
I am not an expert in NM or Linux but I will check the configuration to see if it the same.
I don’t have any possibility to connect the RPi4 over Ethernet unfortunately, but as the last installation ran for 6 months over WiFi without any problems I don’t see how this is the problem.

Thanks for that. I followed your script to install to a resurrected Pi2B v1.1 with the OS booting from SSD (and before the purists strike, I know the initial boot is to the SD card but thereafter everything is via the SSD). So far seems to have worked a treat. Awaiting delivery of a zigbee stick before beginning the transfer of devices from Samsung Smartthings in an attempt to remove the need for an internet connection to run even the simplest automations.

1 Like

The new docker version will not start my ha. I searched now on the forum and found following solution:

sudo apt remove docker-ce docker-ce-cli
sudo apt autoremove --purge -y
sudo reboot

and install it again with an older version and stay with this:

sudo apt install docker-ce-cli=5:19.03.14~3-0~raspbian-buster
sudo apt install docker-ce=5:19.03.14~3-0~raspbian-buster
sudo apt-mark hold docker-ce docker-ce-cli
sudo reboot

sudo apt install docker-ce-cli=5:19.03.14~3-0~raspbian-buster

not found!!!

Yes, it works! Than you!

thank you very much for this great tutorial. I’ve followed it step by step and it works nicely.
However, when i reboot Raspberry Pi OS, Home Assistant does not start automatically again.
When I check the running containers using

sudo docker ps

all I get is the “hassio_observer”:

CONTAINER ID   IMAGE                                           COMMAND   CREATED          STATUS         PORTS                  NAMES
dcc711d72348   homeassistant/armv7-hassio-observer:2020.10.1   "/init"   16 minutes ago   Up 7 minutes>80/tcp   hassio_observer

The other containers are there (visisble via “docker ps -a”) but not running. Do you know how I could make them run manually or ideally automatically at reboot?

Thanks a lot in advance!

After last update, now I’m in the same situation.
I’ve tried to reinstall all but then when I restart the Pi again only the observer is up and the other element are down.
If I start manually the supervisor it is strange for me that it deletes all the images and start downloading again them all:

myrpi:~# docker container start hassio_supervisor
myrpi:~# docker container ls
CONTAINER ID   IMAGE                                           COMMAND   CREATED          STATUS         PORTS                  NAMES
4568d1a70f4d   homeassistant/armv7-hassio-observer:2020.10.1   "/init"   30 minutes ago   Up 6 minutes>80/tcp   hassio_observer
d68b940ddb00   homeassistant/armv7-hassio-supervisor           "/init"   32 minutes ago   Up 4 seconds                          hassio_supervisor
myrpi:~# docker container logs hassio_supervisor
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] executing...
[10:45:06] INFO: Update udev information
[cont-init.d] exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[10:45:06] INFO: Starting local supervisor watchdog...
20-12-15 10:45:11 INFO (MainThread) [__main__] Initializing Supervisor setup
20-12-15 10:45:11 INFO (MainThread) [supervisor.bootstrap] Initializing Supervisor Sentry
20-12-15 10:45:11 INFO (MainThread) [supervisor.bootstrap] Seting up coresys for machine: raspberrypi3
20-12-15 10:45:11 INFO (SyncWorker_0) [supervisor.docker.supervisor] Attaching to Supervisor homeassistant/armv7-hassio-supervisor with version 2020.12.6
20-12-15 10:45:11 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/raspberrypi3-homeassistant:2020.12.0']
20-12-15 10:45:11 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-cli:2020.11.1']
20-12-15 10:45:11 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-dns:2020.11.0']
20-12-15 10:45:12 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-observer:2020.10.1']
20-12-15 10:45:12 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-multicast:3']
20-12-15 10:45:12 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-audio:17']
20-12-15 10:45:12 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.INITIALIZE
20-12-15 10:45:12 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
20-12-15 10:45:12 INFO (MainThread) [__main__] Setting up Supervisor
20-12-15 10:45:12 INFO (MainThread) [supervisor.api] Starting API on
myrpi:~# docker container ls
CONTAINER ID   IMAGE                                           COMMAND   CREATED          STATUS          PORTS                  NAMES
4568d1a70f4d   homeassistant/armv7-hassio-observer:2020.10.1   "/init"   30 minutes ago   Up 6 minutes>80/tcp   hassio_observer
d68b940ddb00   homeassistant/armv7-hassio-supervisor           "/init"   32 minutes ago   Up 19 seconds                          hassio_supervisor

I think it could be something related to the last version of docker, but still not sure.

@maristos @miky_italy Use this link instead, this one is deprecated (you have to go down to docker V19 to have it running again, it is explained in this link):

sudo apt remove docker-ce docker-ce-cli
sudo apt autoremove --purge -y
sudo reboot


sudo apt install docker-ce-cli=5:19.03.14~3-0~debian-buster
sudo apt install docker-ce=5:19.03.14~3-0~debian-buster
sudo apt-mark hold docker-ce docker-ce-cli
sudo reboot

Thank you, it is what I was going to do, but about the downgrade I had to discover the old version, now I have the guide :smiley:

At the moment I was going to downgrade the docker I found an update to the 20.10.0 -> 20.10.1 so I tried that before downgrade: it didn’t work so for who want to try at least that version still doesn’t work.
For who is reading this thread, Raspbian OS related, the correct commands for downgrade are:

sudo apt install docker-ce-cli=5:19.03.14~3-0~raspbian-buster
sudo apt install docker-ce=5:19.03.14~3-0~raspbian-buster

At least if you don’t want to switch to the supported version (my work in progress) Debian version, but for me now it is enough to fix it.

1 Like

Thank you very much, that did the trick for me, too!
Impressive how fast this deprecation comes into effect.

1 Like

I previously had the core Home Assistant only, but wanted the Supervisor features.

It took me a few attempts, but I managed to get it working by following the tips here.

2 problems that I kinda got stuck on:

  1. Make sure you entirely remove your docker processes and containers before making a new attempt at something.
  2. Determine if you are on 64 or 32bit. I had assumed wrongly I was on 64.

Thanks :+1:

Hi mate,
I had the same issue. Not sure if you resolved it yet?
My solution:
Firstly I did not want a random MAC address each scan so added


to the file /etc/NetworkManager/NetworkManager.conf
But this install script overides it and restarts Network Manager which seems to be what caused the error.
Resolved it by running the script as normal.
Addding the above text to NetworkManager.conf
Then edit the script and remove the section that edits the network config and restarts NetworkManager.
All installed perfectly.
Let me know if you need more details.

Hello all;

I am having problems with this install. The last step always stops at [info] Install supervisor Docker container - I can’t get past that.

Can anybody help? I’ve been trying for three days straight.

pi@mycelium-pi4:~ $ sudo -i
root@mycelium-pi4:~# apt-get install -y software-properties-common apparmor-utils apt-transport-https ca-certificates curl dbus jq network-manager
Reading package lists... Done
Building dependency tree       
Reading state information... Done
apparmor-utils is already the newest version (2.13.2-10).
apt-transport-https is already the newest version (
ca-certificates is already the newest version (20200601~deb10u2).
curl is already the newest version (7.64.0-4+deb10u1).
dbus is already the newest version (1.12.20-0+deb10u1).
jq is already the newest version (1.5+dfsg-2+b1).
network-manager is already the newest version (1.14.6-2+deb10u1).
software-properties-common is already the newest version (
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@mycelium-pi4:~# systemctl disable ModemManager

root@mycelium-pi4:~# systemctl stop ModemManager
root@mycelium-pi4:~# curl -sL "" | bash -s -- -m raspberrypi4
[info] This script is taken from the official
[info] Home Assistant Supervised script available at
[info] Creating NetworkManager configuration
[warn] Changes are needed to the /etc/network/interfaces file
[info] If you have modified the network on the host manualy, those can now be overwritten
[info] If you do not overwrite this now you need to manually adjust it later
[info] Do you want to proceed with overwriting the /etc/network/interfaces file? [N/y] 
[info] Replacing /etc/network/interfaces
[info] Restarting NetworkManager
[info] Install supervisor Docker container
packet_write_wait: Connection to port 22: Broken pipe
StiofansMacBookPro:~ stiofandegeata$ 

I have just taken the plunge and bought an Odroid Blue 4/128 to replace my Pi4 with SSD - it has simply become untenable to try and go against the flow. I will miss easy access to the logs, but running unsupported is increasingly challenging.

I do have other things running on the Pi so a little prep was required.

  • Take a full snapshot and download it.
  • Change the fixed IP with nmcli and change the hostname (if you have one set).
  • Stop HA starting at boot on the Pi - you need to disable and mask the services
 sudo systemctl disable docker.service
 sudo systemctl mask docker.service
 sudo systemctl disable containerd.service
 sudo systemctl mask containerd.service
  • Move any USB devices from Pi to Blue
  • Reboot Pi
  • Onboarding - upload the snapshot - this does take an age - don’t be impatient.
  • Change the fixed IP in the Supervisor menu (if you use it)
  • Change the DNS server (if you use an internal DNS).

That is it - it just simply all works

I have solved this by preventing the installer script to restart network manager.

systemctl stop ModemManager

sudo curl -Lo

sed -i -e 's/systemctl restart "${SERVICE_NM}"/#systemctl restart "${SERVICE_NM}"/g'

sudo bash --machine raspberrypi4

hope it helps

1 Like

Hi after many days of trying to install the Hassio supervised on PI4 with Docker as newbie, all installed correctly however i am struggling with the Samba & Mqttt as they will not load. I followed the Installation of Samba and mqtt i think my problems is that i could not insert my username and passwd into either

2.6) You will now need to create a username and password to log into Samba.
2.7) You will then be prompted to enter a password twice. Choose a password you can easily remember and make a note of it. Now you can restart the samba service and immediately access our files from another machine on our local network.
sudo smbpasswd -a USERNAME_OF_YOUR_CHOICE
3.4) You will now need to set a username and password. User the following command to do this.

sudo mosquitto_passwd -c /etc/mosquitto/conf.d/pwfile USERNAME_OF_YOUR_CHOICE

I insert my details but they don’t seem to be saved, Perhaps someone could advise how it is inserted and save.

Installed using this with no issues. Had problems with the latest Debian following the Home Assistant Supervised on RPI Debian. System failed on update, corrected, system lost network, corrected, system hung. Went to RPIOS. So far everything is working.

Just want post an update here. I have just used the same guide to install the supervised HA in my spare RPi4 as development environment and everything goes smoothly. I didn’t have to modify any commands to get the installation going.

I’ve been using Home Assistant Supervised on a Pi4 with Raspberry Pi OS (Debian based of course) for quite a while now with no issues. I use it mainly so I can use the excellent and invaluable RPI-Clone script to clone my booted USB SSD to SD card as a very quick emergency backup and failsafe which has come in handy many times including today.

I’m now about to setup another Pi4 with Home Assistant Supervided and Since @kanga_who highly recommends Debian 10 I’m curious as to how this affects the running of the Pi4? Raspberry Pi OS contains many changes from Debian to take advantage of the Pi4’s hardware specifically. Won’t all that be lost on Debian 10? Also, are there any specific, known upcoming issues with Home Assistant Supervised on Raspberry Pi OS? I really would love if the HA devs would add it to the officially supported list since the Pi4 is so popular for HA use but never mind.

Of course I’d prefer a fully supported installation so if there are no (performance/functionality?) drawbacks to using Debian 10 on the Pi4 then is there an equivalent of the RPI-Clone script that will run correctly on it?

Lastly, where can I get a 64bit image of Debian 10 for the Pi4. I see the link to the official Debian 10 download page but it doesn’t specify if these are 64bit. Someone else mentioned installing 64bit Debian and it all working great.

I don’t recommend it, it is the only supported OS for a Supervised install now.

It is as customized and somewhat bloated version of Debian specifically for the Pi, but contains a lot that is not required or needed to run HA Supervised.

As per my first comment, Debian 10 is the only supported OS, so if you use a variant, like Raspberry Pi OS, it may cease to work at any time due to changes being made in HA, like preventing updates which has been widely discussed over the past months.

Not going to happen.

There is none, HA Supervised runs very well on a Pi 4 with Debian, if anything, it boots faster being that the OS is less bloated.

No idea, but this is not really needed. The installation time for Debian on a Pi would be about the same amount of time it takes to restore an image. I can set up a new install following the Debian/Pi guide, with HA up and running in 20mins.

You’d be best off installing the Google Drive Backup add-on and if you face a corrupted drive, perform a fresh install and restore your backup. Very easy.

1 Like