Installing Home Assistant Supervised on a Raspberry Pi using Debian 12

So…has anyone made any progress with getting rid of the issue?

Something you have to do anyway between now and 4 months : upgrade to Debian 11 (Bullseye)

Just wanted to let you know that using this guide on Debian 11 works without any problems even on my SSD. But for now I’ll stay on Debian 10 and my installation on the SD Card as pi-hole doesn’t officially supports Debian 11 yet.

1 Like

You might be interested in trying out the AdGuard Home add-on. I switched to it from PiHole some time ago and it does a great job.

Successfully installed; thank you so much for this guide. Setup - Pi4 8GB with Debian 11 on a 125GB Kingston SSD external drive and also utilizing the CanaKit 3.5A power adapter makes a difference.

1 Like

Just a quick note to save others some time and effort.

I tried but failed to make an RPi 3B boot from a Western Digital My Passport SSD (external 256 Mb SSD, USB 3.0). It appears that published instructions aren’t kidding when they say the device must be USB 2.0.

  • I programmed the 3B to support USB booting and confirmed it did by booting from a USB2 flash drive loaded with Bullseye.

  • I connected the external SSD and the 3B refused to boot.

  • I added an SD card equipped with bootcode.bin but that didn’t help the 3B boot from the My Passport SSD.

As a final sanity check, I loaded the latest Ubuntu image on the SSD, plugged it into a USB3 port on my Windows PC, restarted it and it booted into Ubuntu (i.e. nothing inherently wrong with the My Passport SSD device).

tl;dr
3B’s USB booting is constrained to USB2 (just like the documentation states).

1 Like

Upgrade from 10 to 11 was without problems. Fresh install was also flawless. Raspberry pi 4 2G with argon m2. Thanks @kanga_who @Tamsy !

2 Likes

I used this tutorial to install ha supervised on rasperry pi 3b+ with Debian 10 but have problem with system crashes after some time of working, without any info in logs and independently from load/memory usage. I already tried eliminate described possibility of failure - wrong adapter, by installing on sd card instead ssd disc, but same problem - system freeze without warning. Everything have been working properly when I was using rasbian instead debian. Any idea how to eliminate those freezes? Or how to easy migrate from this configured installation to new raspbian installation (which files and directories should I copy on newly installed raspbian)?

Migrating is as simple as taking a snapshot (backup I have to say these days), and restoring on a new install.

But before you do: create a swapfile, the freeze could be caused by memory full.

I already have swap partition, and swap wasn’t full during freeze (same as memory).

People sometimes tend to “forget” about the exit-part at the end of 1.5 from the instructions at the 1st. post:

but simply continue straight to 2.1 as root-user from the keyboard connected to the RPI instead of continuing as the unprivileged user just created before through:

although the instructions is saying:

Continuing with Section 2 as root is discouraged because of various sorts of errors which might pop up caused by screwed permission settings due to having executed the install-script etc. directly as root.

All steps beginning from Section 2 should be done as an unprivileged user by prepending sudo to each and every command.

1 Like

I’m not 100% sure if i ran it as unprivileged user, but rather yes (for sure I have user with access to sudo, so i rather did not skip this step). Anyway what in this script may cause system freezes after few days of working? I understood that something might work or not because of wrong privileges but it shouldn’t cause total system freez after day or week of working…

So it is dubious at best, maybe yes but maybe no.

If you have followed the instructions by the book you certainly have added that unprivileged user. But it does not look like you are knowing what that user was created for.

If you take a closer look at 2.1 you might notice that it is not only a single bash script you have to execute but you are also installing other applications (as non-root, therefore that sudo -i at the beginning). What makes you think that only “this script” is causing system freezes etc.? Be assured that this thread wouldn’t exist anymore if it offers a buggy installation script.

BTW, since you are installing on a RPI3 you did follow this, did you?

There have been other users who did experience a similar behaviour after installing HA Supervised on RPI and eventually got it sorted out by really and doubtlessly following the instructions. Like i.e. read here and a few posts down.

1 Like

I am one of the users that had issues. Both @kanga_who and @Tamsy were able to help me resolve my issues. My system once working has not crashed ever. I went to Debian as I was having issues with HAOS after it updated from 5.4 and beyond. My system below 5.4 also never crashed.
To get me through the install I printed it out and checked off each step. If I was seeing anything that did not seem correct I would ask.
I also had a second ssd with HAOS 5.4 installed and if Debian crashed I would go back to that drive untill I got everything sorted out.

1 Like

Problems seems to be different than bschatzow’s problem:
I don’t have monitor connected, HDMI port unused
I was trying quirks when I was running on ssd - it’s not this case

I understood, that script is doing many things, but as far as I understood linux, problem should appear during installation/start of installed applications, not after few days of working. Anyway I wanted to check that to be 100% sure, but owner of files in both cases (sudo su - and sudo -i) are root so I have no idea how to check how it was ran. Any idea?
I’m 100% sure that i changed instruction from pi4 to pi3.

Which image did you choose? Why Debian 10 since Debian 11 is already officially supported by HA Supervised?

Honestly? If I were you I would start all over and use this image on a clean formatted branded quality SD-card (not on a SSD for now!). I would strictly stick to the instructions without getting tempted to let my bitty Linux knowledge aquired through different search results on the web mixing (and screwing) things up.

Don’t forget to make a full snapshot (full backup) before. The whole process shouln’t take much longer than 20 - 30 minutes to get all up an running.

I choose debian 10 because when I was doing that it was recommended version. I spend lot of time reading this thread and trying to find possible cause of problems, before I asked my question. Recommended version changed in meantime from 10 to 11.
you full snapshot do you mean supervisor → backups → create backup → full backup?

I did everything like described but I can not connect to the IP it spits out (HTTP://192.168.69.3:8123)

That is correct. And don’t forget to copy the resulting *.tar file over to your PC for later restore.

I reinstaled os. Going with instruction step by step, and for sure running mentioned command after second login to shell and sudo -i.
After:
root@rpi3-20210823:~# curl -fsSL get.docker.com | sh
A get some warnings and errors:

root@rpi3-20210823:~# curl -fsSL get.docker.com | sh
# Executing docker install script, commit: 93d2499759296ac1f9c510605fef85052a2c32be
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl gnupg >/dev/null
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_TIME = "pl_PL.UTF-8",
	LC_MONETARY = "pl_PL.UTF-8",
	LC_ADDRESS = "pl_PL.UTF-8",
	LC_TELEPHONE = "pl_PL.UTF-8",
	LC_NAME = "pl_PL.UTF-8",
	LC_MEASUREMENT = "pl_PL.UTF-8",
	LC_IDENTIFICATION = "pl_PL.UTF-8",
	LC_NUMERIC = "pl_PL.UTF-8",
	LC_PAPER = "pl_PL.UTF-8",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
+ sh -c curl -fsSL "https://download.docker.com/linux/debian/gpg" | gpg --dearmor --yes -o /usr/share/keyrings/docker-archive-keyring.gpg
+ sh -c echo "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends  docker-ce-cli docker-ce >/dev/null
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_TIME = "pl_PL.UTF-8",
	LC_MONETARY = "pl_PL.UTF-8",
	LC_ADDRESS = "pl_PL.UTF-8",
	LC_TELEPHONE = "pl_PL.UTF-8",
	LC_NAME = "pl_PL.UTF-8",
	LC_MEASUREMENT = "pl_PL.UTF-8",
	LC_IDENTIFICATION = "pl_PL.UTF-8",
	LC_NUMERIC = "pl_PL.UTF-8",
	LC_PAPER = "pl_PL.UTF-8",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
+ version_gte 20.10
+ [ -z  ]
+ return 0
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce-rootless-extras >/dev/null
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_TIME = "pl_PL.UTF-8",
	LC_MONETARY = "pl_PL.UTF-8",
	LC_ADDRESS = "pl_PL.UTF-8",
	LC_TELEPHONE = "pl_PL.UTF-8",
	LC_NAME = "pl_PL.UTF-8",
	LC_MEASUREMENT = "pl_PL.UTF-8",
	LC_IDENTIFICATION = "pl_PL.UTF-8",
	LC_NUMERIC = "pl_PL.UTF-8",
	LC_PAPER = "pl_PL.UTF-8",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
+ sh -c docker version
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:55:35 2021
 OS/Arch:           linux/arm64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:53:48 2021
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

================================================================================

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.


To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

================================================================================

After

curl -sL "https://raw.githubusercontent.com/Kanga-Who/home-assistant/master/supervised-installer.sh" | bash -s -- -m raspberrypi3-64

It asked about overwrite so i agree:

[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]

y

[info] Replacing /etc/network/interfaces

[info] Restarting NetworkManager

[info] Install supervisor Docker container

Unfortunately this time docker container even didn’t start :

oot@rpi3-20210823:~# docker images -a         
REPOSITORY                                TAG         IMAGE ID       CREATED       SIZE
homeassistant/aarch64-hassio-supervisor   2021.09.0   d3bef0e161db   3 weeks ago   322MB
homeassistant/aarch64-hassio-supervisor   latest      d3bef0e161db   3 weeks ago   322MB


root@rpi3-20210823:~# docker container ls -a
CONTAINER ID   IMAGE                                     COMMAND   CREATED          STATUS                     PORTS     NAMES
ead54a52941a   homeassistant/aarch64-hassio-supervisor   "/init"   36 minutes ago   Exited (0) 5 seconds ago             hassio_supervisor
root@rpi3-20210823:~# docker container ls -a
CONTAINER ID   IMAGE                                     COMMAND   CREATED          STATUS         PORTS     NAMES
ead54a52941a   homeassistant/aarch64-hassio-supervisor   "/init"   36 minutes ago   Up 6 seconds             hassio_supervisor
root@rpi3-20210823:~# docker container ls -a
CONTAINER ID   IMAGE                                     COMMAND   CREATED          STATUS                     PORTS     NAMES
ead54a52941a   homeassistant/aarch64-hassio-supervisor   "/init"   37 minutes ago   Exited (0) 8 seconds ago             hassio_supervisor
root@rpi3-20210823:~# 

I rebooted raspberry to check if it will help, but not:

root@rpi3-20210823:~# docker container ls -a
CONTAINER ID   IMAGE                                     COMMAND   CREATED         STATUS    PORTS     NAMES
03084811149e   homeassistant/aarch64-hassio-supervisor   "/init"   7 seconds ago   Created             hassio_supervisor
root@rpi3-20210823:~# date
Sun Sep 26 00:06:31 UTC 2021
root@rpi3-20210823:~# docker container ls -a
CONTAINER ID   IMAGE                                     COMMAND   CREATED         STATUS    PORTS     NAMES
5a5c775c006a   homeassistant/aarch64-hassio-supervisor   "/init"   3 seconds ago   Created             hassio_supervisor
root@rpi3-20210823:~# date
Sun Sep 26 00:07:02 UTC 2021
root@rpi3-20210823:~# date
Sun Sep 26 00:13:46 UTC 2021
root@rpi3-20210823:~# docker container ls -a
CONTAINER ID   IMAGE                                     COMMAND   CREATED         STATUS    PORTS     NAMES
7f9fae92c5ff   homeassistant/aarch64-hassio-supervisor   "/init"   2 seconds ago   Created             hassio_supervisor
root@rpi3-20210823:~# 

Any idea what is wrong? I used os image which you pointed.