Installing Home Assistant Supervised using Debian 12

Just follow the guide, but at step 2.2 you must change (for now) the way you install docker. You can’t use the automatic install script from docker, but instead you have to do this:

sudo -i

apt-get install -y software-properties-common apparmor-utils apt-transport-https ca-certificates curl dbus jq network-manager

systemctl disable ModemManager

systemctl stop ModemManager

Here comes some steps that differ from the guide.

1) Add docker repository to Debian
see: https://docs.docker.com/engine/install/debian/#install-using-the-repository for more info.

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Add docker’s official GPG key

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Set up the Repository

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

2. Install old version of Docker

sudo apt install docker-ce=5:19.03.13~3-0~debian-buster

sudo apt install docker-ce-cli=5:19.03.13~3-0~debian-buster

sudo apt-get install containerd.io=1.3.9-1


3. Optionally: disable automatic update to newer version of docker
Please note, that this is optional. Only do this if you want to upgrade your debian and other packages. I advise just to not update till the issues with docker/supervisor are solved.

See: Installing Home Assistant Supervised on Debian 10

4. install hass supervised using the supervised install script

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

**5. Follow the guide from 2.3 onwards, but don’t upgrade using apt-get upgrade if you didn’t disable automatic updates to docker (step 3 of my post)

I hope this helps.

I successfully managed to install HA in Supervised Mode using this guide.

There only was a slight difference to the initial guide:

I used

curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh
(which is the same as the installer.sh mentioned in the original post besides some initial comment parts)

but as I am running on a Raspberry Pi i needed to adjust the installer part according to https://github.com/home-assistant/supervised-installer#installation by using

sudo bash installer.sh --machine raspberrypi3

Without the specification of the machine type the installer would not successfully finish.

To those having issues with docker not starting containers correctly. There is an active alert for docker 20.10 on Debian (also affects other distros).

Docker 20.10 not compatible with Supervised installations

On December 9, 2020 Docker released version 20.10. This version is currently not compatible with the Supervisor that is running on a Supervised installation. If you are running our Home Assistant Operating System or Home Assistant Core directly in Docker, this alert does not apply to you.

There are 2 parts to this issue. The first is the removal of filtering of images over the API, this results in images not being recognized by the Supervisor correctly.

The second issue is changes in how the systemd service for Docker works, which results in the service hassio-supervisor not being able to start on system boot.

Workaround

The only known workaround at this point is downgrading Docker to the previous version. The example below is for Debian 10. If that is not your OS, check the documentation for your OS’s package manager on how to perform the downgrade.

apt install docker-ce=5:19.03.14~3-0~debian-buster
apt install docker-ce-cli=5:19.03.14~3-0~debian-buster
apt install containerd.io=1.3.9-1

When the downgrade is complete, do a system reboot. Once it has fully started you need to run ha supervisor repair and ha supervisor restart to fix problems with add-ons.

1 Like

deleted by author

When I run
apt install docker-ce=5:19.03.14~3-0~debian-buster
I get an error that the version is not found:
root@hp-srv:/home/xxxx# apt install docker-ce=5:19.03.14~3-0~debian-buster Reading package lists... Done Building dependency tree Reading state information... Done E: Version '5:19.03.14~3-0~debian-buster' for 'docker-ce' was not found

And when i run an apt update i get stuck on the same error as before:

root@hp-srv:/home/xxxx# apt update
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]                                     
Hit:2 http://deb.debian.org/debian buster InRelease                                                                     
Hit:3 http://deb.debian.org/debian buster-updates InRelease                                             
Reading package lists... Done                                                       
E: Method https has died unexpectedly!
E: Sub-process https received a segmentation fault.

Hi all and thanks for a write-up on this.

However, following the “new” setup - when I get to the software-properties-common part, it can’t find the package. Have I missed a step? Running the newest Debian build I could find 10.7…

1 Like

Replying to myself in case anybody wonders about the same.

Issue was solved by adding more repositories to my etc/sources.list. Google it and you’ll find what Debian 10 sources should be there.

@kanga_who do you think that the supervised installation script could be executed from within a specially crafted docker container in a docker-outside-of-docker way?
If that worked the host restrictions could hopefully be circumvented.

Hi there and thank you very much for a detailed step-by-step guide and the script. I however ran into a couple of issues.

  1. On step 1.14, I have to select ‘Yes’, not ‘No’, to get to select my country and the download location of packages.

  2. On step 1.10; if I made a root password, I was not able to run the Home Assistant install script in step 2.2.

Then of course I followed the steps in this post by Kanga_who, which I probably could have avoided by installing the right version of docker to begin with, but I wasn’t sure.

I have a intel nuc celeron with installed debian and docker (i installed it now 4 times), but i still get the error that apparmor is not pressents. But it is enables when i check. What do i wrong?

I followed the steps of Kanga_who and the alternative methods

I had the same problem and I think not making a root password fixed it for me.

sudo -i
before installation command

1 Like

I added the repository using "sudo add-apt-repository
“deb [arch=amd64] Index of linux/debian/
$(lsb_release -cs)
stable”
Which added a line to the sources file OK.

But I’m getting the same as rvoosterhout
“E: Version ‘5:19.03.14~3-0~debian-buster’ for ‘docker-ce’ was not found”
Two questions, I have an Intel processor, should I use the repostitory [arch=amd64].
Should the prository path be something like “Index of linux/debian/dists/buster/stable/
I know nothing of Linux I’m afraid, simply clutching at straws after two solid days of frustration :wink:

Hi,

I’m not sure why you can’t find the package. Are you sure you din’t make any typo? I’m pretty sure something like that is the cause.

EDIT:
I think that I know why you didn’t find the package. You must copy the follow command in total, not line by line!!!

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

If you copy it line by line, it will, off course, not work…since you are echo’ing your release version to add the right docker repository.

** End of Edit **

However, you can use

apt list -a docker-ce

to see a list of available packages.

If you installed the docker repository correctly you would see a list like this:

@homeassistant:~$ apt list -a docker-ce
Listing... Done
docker-ce/buster 5:20.10.1~3-0~debian-buster amd64 [upgradable from: 5:19.03.13~3-0~debian-buster]
docker-ce/buster 5:20.10.0~3-0~debian-buster amd64
docker-ce/buster 5:19.03.14~3-0~debian-buster amd64
docker-ce/buster,now 5:19.03.13~3-0~debian-buster amd64 [installed,upgradable to: 5:20.10.1~3-0~debian-buster]
docker-ce/buster 5:19.03.12~3-0~debian-buster amd64
docker-ce/buster 5:19.03.11~3-0~debian-buster amd64
docker-ce/buster 5:19.03.10~3-0~debian-buster amd64
docker-ce/buster 5:19.03.9~3-0~debian-buster amd64
docker-ce/buster 5:19.03.8~3-0~debian-buster amd64
docker-ce/buster 5:19.03.7~3-0~debian-buster amd64
docker-ce/buster 5:19.03.6~3-0~debian-buster amd64
docker-ce/buster 5:19.03.5~3-0~debian-buster amd64
docker-ce/buster 5:19.03.4~3-0~debian-buster amd64
docker-ce/buster 5:19.03.3~3-0~debian-buster amd64
docker-ce/buster 5:19.03.2~3-0~debian-buster amd64
docker-ce/buster 5:19.03.1~3-0~debian-buster amd64
docker-ce/buster 5:19.03.0~3-0~debian-buster amd64
docker-ce/buster 5:18.09.9~3-0~debian-buster amd64
docker-ce/buster 5:18.09.8~3-0~debian-buster amd64
docker-ce/buster 5:18.09.7~3-0~debian-buster amd64
docker-ce/buster 5:18.09.6~3-0~debian-buster amd64
docker-ce/buster 5:18.09.5~3-0~debian-buster amd64
docker-ce/buster 5:18.09.4~3-0~debian-buster amd64
docker-ce/buster 5:18.09.3~3-0~debian-buster amd64
docker-ce/buster 5:18.09.2~3-0~debian-buster amd64
docker-ce/buster 5:18.09.1~3-0~debian-buster amd64
docker-ce/buster 5:18.09.0~3-0~debian-buster amd64
docker-ce/buster 18.06.3~ce~3-0~debian amd64
docker-ce/buster 18.06.2~ce~3-0~debian amd64
docker-ce/buster 18.06.1~ce~3-0~debian amd64
docker-ce/buster 18.06.0~ce~3-0~debian amd64
docker-ce/buster 18.03.1~ce-0~debian amd64
docker-ce/buster 18.03.0~ce-0~debian amd64
docker-ce/buster 17.12.1~ce-0~debian amd64
docker-ce/buster 17.12.0~ce-0~debian amd64

To see all available docker packages, you can use

apt list -a docker*

If you still don’t manage to do it, you can also try to just follow the guide but afterwards downgrade docker, see: Installing Home Assistant Supervised on Debian 10

Thanks Mr D.
I did type it all on one line without the forward slashes, like this:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Two extra lines were added to my /etc/apt/sources.list as follows, so I assumed it had worked:

deb [arch=amd64] https://download.docker.com/linux/debian buster stable
`# deb-src [arch=amd64] https://download.docker.com/linux/debian buster stable`

I’ve tried un-commenting the second line, no change.
Do they look correct to you?

Yes, it has the following in the results:
docker-ce/buster 5:19.03.13~3-0~debian-buster amd64

I can’t spot the error

Hey there!

In case you have not seen it, the alert for Docker 20.10.x has been updated.
https://alerts.home-assistant.io/#docker_2010.markdown


Update December 15, 2020

Today docker has released version 20.10.1. This version fixes the issues with systemd, and startup of the hassio-supervisor service.

We have published version 2020.12.7 of our Supervisor to the beta channel. This version fixes the remaining filtering issue.

If you want to help test this fix you can do that by joining the beta channel in the UI on the “System” tab in the Supervisor panel, or with CLI:

ha supervisor options --channel beta
ha supervisor reload
ha supervisor update

When you have version 2020.12.7 of the Supervisor running you can update Docker to 20.10.1.

2 Likes

Does anybody have an idea on how to fix this?

1 Like

Installed. So far, so good.

Thanks.

As I understand it as of today 15/12/20, I need to do the following:

  1. install docker version 5:19.03.13~3-0~debian-buster
  2. install HA as per this thread
  3. join the beta channel in HA
  4. update HA to 2020.12.7
  5. finally update docker to the latest.

All sounds good except I get this message at stage 1 when adding the repository for docker:
"Skipping acquire of configured file 'stable/source/Sources' as repository 'https://download.docker.com/linux/debian buster InRelease' does not seem to provide it"

apt list -a docker-ce does in fact return a list with 5:19.03.13~3-0~debian-buster in it, so what’s wrong, any suggestions?