Fix Docker : HomeAssistant 2021.7.2 sur Raspbian Buster

Si vous utilisez Docker sur Raspbian pour votre HomeAssistant, et que vous souhaitez mettre à jour votre version vers la 2021.7.2, vous devez également mettre à jour Docker. Sinon, ça ne fonctionne pas.
Et si vous avez déjà mis à jour, vous le savez déjà, puisque vous êtes là.

Vous avez donc à faire face à l’erreur suivante :

Fatal Python error: init_interp_main: can't initialize time
Python runtime state: core initialized
PermissionError: [Errno 1] Operation not permitted
Current thread 0x76f84020 (most recent call first):
<no Python frame>

La mise à jour comprends deux choses avant de pouvoir utiliser la version 2021.7.2 : Docker, et libseccomp2.

Installation de la librairie

Cette librairie ne se trouve pas sur Buster. Il faut donc utiliser un backport. Cela se fait assez aisément, de la façon suivante :

On commence par ajouter la clé pour éviter les prompts d’alerte :

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138

On ajoute ensuite le repos de backport dans son propre fichier source :

echo 'deb http://httpredir.debian.org/debian buster-backports main contrib non-free' | sudo tee -a /etc/apt/sources.list.d/debian-backports.list

Ensuite on met à jour les sources et on installe le paquet :

sudo apt update && sudo apt install libseccomp2 -t buster-backports -y

Mise à jour de Docker

Il est nécessaire d’avoir une version plus récente (19+) de Docker pour pouvoir exécuter la dernière versions de HomeAssistant. Cela fait suite au passage vers AlpineLinux (vous pouvez vous documenter à ce sujet en cherchant sur le net).

Là encore, il est nécessaire de faire quelques modifications aux sources, afin de permettre une installation de la version plus récente depuis le dépôt de la future version de Raspbian/Debian, à savoir Bullseye.

Commencer donc par ajouter le repos :

echo "deb http://mirrordirector.raspbian.org/raspbian/ bullseye main" >> /etc/apt/sources.list.d/bullseye-testing-docker.list

Ensuite créer le fichier de préférence pour Docker, afin de lui demander de ne chercher les paquets uniquement pour Docker sur Bullseye :

echo "Package: *" >> /etc/apt/preferences.d/bullseye-docker.pref
echo "Pin: release n=bullseye" >> /etc/apt/preferences.d/bullseye-docker.pref
echo "Pin-Priority: 50" >> /etc/apt/preferences.d/bullseye-docker.pref

On finit ensuite par l’habituelle mise à jour des repos et l’installation :

sudo apt update && sudo apt install docker.io/bullseye -y

Vérifier qu’on est bien passé sur la nouvelle version se fait ainsi :

sudo docker -v
Docker version 20.10.5+dfsg1, build 55c4c88

Il est toujours utile de faire un petit reboot, afin d’être sûr que tout soit bien redémarré (notamment si comme moi, vous utilisez docker-compose) :

sudo reboot

Vous voilà enfin débarassé de cette erreur 0x76f84020, et vous pouvez profiter de la version 2021.7.2 et futures !
Cette solution a été testée sur Raspberry Pi 3b et Raspberry Pi 4.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *