Home Assistant : l’installation avec Docker est-elle une bonne idée ?

Nicolas Furno |

Dans ma série sur Home Assistant, j’ai fortement recommandé d’installer cette plateforme de domotique open source sur un Rapsberry Pi, en utilisant le système d’exploitation complet fourni par les développeurs du projet. Cette méthode est la plus simple à mettre en œuvre et aussi la plus complète en matière de fonctionnalités, si bien que cette voie me semblait la plus cohérente.

Home Assistant sur un Mini PC grâce à Docker. Image iGeneration.

Était-ce réellement le meilleur choix néanmoins ? Pour en avoir le cœur net, j’ai profité d’avoir sous la main un ordinateur plus costaud pour le vérifier. Pour les besoins d’un futur article sur Frigate, un gestionnaire de caméras de sécurité qui est un excellent complément à Home Assistant, j’ai mis en place un « Mini PC », sorte de successeur aux NUC d’antan. Je comptais y installer une distribution Linux avec Docker pour les besoins de Frigate, alors pourquoi m’arrêter en si bon chemin ? Je me suis lancé un défi en basculant toute ma domotique sur ce petit ordinateur.

De quoi me faire changer d’avis ? Réponse dans cet article qui servira aussi de guide condensé si vous voulez vous aussi installer Home Assistant sur Docker.

Au programme

Installer Home Assistant avec Docker

La souplesse est un mot clé de Home Assistant, qui propose pas moins de quatre options différentes pour son installation. Je les avais rapidement évoquées dans mon article dédié au démarrage, avant de me concentrer sur la procédure à suivre pour installer HAOS, le système d’exploitation complet, sur un Raspberry Pi. Cette fois, nous allons installer le « Container », c’est-à-dire Home Assistant dans un conteneur géré par Docker. Pour aller vite, Docker est un outil de virtualisation très populaire sur les serveurs, car il offre de bonnes performances tout en isolant les applications les unes des autres.

La documentation pour installer Home Assistant par ce biais est proposée à cette adresse. Elle part du principe que vous avez un ordinateur où Docker a déjà été installé. Si ce n’est pas le cas, vous trouverez facilement des explications pour l’installer sur n’importe quelle machine, y compris un Mac, même si je recommande plutôt d’utiliser une distribution Linux en guise de base. Sur mon Mini PC, j’ai ainsi installé Debian 12 en téléchargeant la dernière version de la distribution sur le site officiel et en créant une clé USB grâce à Etcher. Pour démarrer dessus, un passage dans le BIOS a été nécessaire pour modifier l’ordre de démarrage et ne pas lancer Windows 11, préinstallé sur la machine.

Avant d’installer Home Assistant ou même Docker, il faut encore installer une distribution Linux. Image iGeneration.
avatar aghez | 

De mon côté, j’ai eu un soucis avec HAOS qui ne se mettait plus à jour. Je suis passé à la version container et les mises à jour se font très facilement.
J’en ai profité pour tout dockeriser et mon RPI4 est devenu bien plus stable depuis.
Aucun regret

avatar Nicolas Furno | 

@aghez

Ah tiens je n’ai jamais eu de problèmes de mises à jour. Mais après, je pense que si on maîtrise bien Docker, c’est en effet une bonne option d’installation.

avatar RonDex | 

@nicolasf

Sur mon NAS Synology DS918+, j’ai installé Home Assistant avec une image téléchargée sur leur site via une machine virtuelle.
C’est beaucoup plus facile qu’avec Docker (beaucoup trop compliqué à installer).
On installe ce système en quelques cliques. J’ai essayé avec une image sans interface graphique (je n’ai absolument pas compris comment on pouvait utiliser ce système comme cela), en ligne de commande. Et une autre avec interface graphique.
Ça tourne très très bien. Ça ne prend peu de ressources.

avatar guibrush | 

Ça devient compliqué la domotique…..

avatar Nicolas Furno | 

@guibrush

Comme expliqué ici, ce n’est pas la méthode que je recommande, il y a beaucoup plus simple.

avatar CoralColdMollusk | 

@nicolasf

J’ai commencé par le raspberry. Après je suis passé sur une installation de proxmox sur un mini pc et HAOS en VM.
C’est beaucoup plus simple que sur docker, d’après ce que tu décris.
On a tous les avantages de HAOS, des VM sans les inconvénients que tu mentionnes.
La sauvegarde / restauration est comme sur raspberry.
Mais on peut aussi sauvegarder la VM sur son NAS directement.
Et en plus on peut installer d’autres VM ou docker, pas example Adguard en docker pour moi.

avatar frankynov | 

@CoralColdMollusk

Cela veut dire que pour chaque programme docker que tu veux utiliser, tu dois créer une VM spécifique pour chacun ?

avatar RonDex | 

@frankynov

Tu utilises soit Docker (beaucoup plus compliqué) soit une machine virtuelle.
Comme indiqué dans mon message ci-dessus, pour Home Assistant c’est extrêmement simple avec une image (que tu télécharges sur leur site)
pour une machine virtuelle. Ça s’installe en quelques minutes.
Regarde dans les articles de MacG, ou bien sur Internet.

https://www.home-assistant.io/installation/

avatar Nicolas Furno | 

@CoralColdMollusk

En effet, j’y ai pensé aussi. Le problème vient de Frigate qui n’aime pas la virtualisation type Proxmox d’après sa documentation officielle.

Et puis j’aime bien les défis, je dois le reconnaître. 😅

avatar Demain c'est loin | 

Merci Nicolas c’est super intéressant mais je crois trop compliqué pour moi.
Je pense que je passerai plus de temps à faire tout ça que d’appuyer sur des interrupteurs le reste de ma vie !

avatar irishboy | 

J’ai fais le cheminement inverse. Principalement pour ces questions de sauvegarde. Je peux faire un snapshot de ma vm, ou backup intégrale de la config avec le plugin google. Résultat, migration semaine dernière sur proxmox. Ma maison était à nouveau connecté en 30 minutes sans rien avoir à gérer quasiment.

avatar Nicolas Furno | 

@irishboy

C’est clair que ça doit être plus simple dans ce sens. Enfin, sauf pour restaurer les données des modules, il faut toujours le faire à la main, non ?

avatar irishboy | 

@nicolasf

Non non justement, tout est restauré ! J’ai été bluffé ! Vraiment tout est revenu à l’identique !
Pour la partie connexion externe, tu as songé à un tunnel cloudflare ?

avatar Nicolas Furno | 

@irishboy

Oui, mon collègue Cédric l’utilise et me l’avait recommandé. Mais j’avais envie de tester une solution avec ce que j’ai déjà, un nom de domaine chez OHV.

avatar k2r | 

Et moi qui pensais que Maison d'Apple était compliquée à gérer… 🙄

avatar foux | 

Juste une petite remarque Nicolas, quand tu installe linuxserver/code-server, ce n'est pas Visual Studio Code que tu installe, mais Code Server, qui ne contient que la partie open source de VS Code. La distinction est importante entre les deux car les fonctionnalités ne sont pas les mêmes. En partie le marketplace et la syncrhonisation des préférences, qui sont dans VS Code, n'existent pas dans Code Server, on ne peut donc pas installer, par exemple le plugin pour ouvrir des fichiers remote.

avatar Nicolas Furno | 

@foux

Bonne remarque, c’est un raccourci. Je n’ai pas testé, mais il me semble que la synchronisation est bien proposée pourtant.

avatar Tezze | 

Bonjour Nicolas,
Pourquoi ne pas passer sur un NAS et un logiciel de virtualisation?
Comme Synology et VMM?
HAOS tourne 👌🏼 sans les inconvénients cités dans ton article.

avatar whocancatchme | 

@Tezze

C’est pareil pour le NAS synology non ? Vu que c’est Linux, c’est juste l’interface graphique qui s’appelle DSM

avatar Tezze | 

Pareil que?
L'un des avantages, c'est d'avoir une virtualisation du système HA complet (HAOS).
Donc aucune restriction et plus facile de faire des sauvegardes, transfert, etc.

avatar Nicolas Furno | 

@Tezze

Principalement pour Frigate, qui était le véritable objectif de ce matériel. Faire tourner Home Assistant dessus, c’était du bonus, certains diraient une distraction. 😬

avatar Tezze | 

Tu peux aussi faire tourner Frigate dans la machine virtuelle HA ☺️

avatar pakal | 

+1 pour proxmox et VM

avatar totoguile | 

J'avais probablement raté un truc à l'époque, mais lors de mes recherches / essais, j'avais essayé home-assistant pour raspberry, et lorsque je me connectais en SSH, je me retrouvais j'ai l'impression chrooté / dans un container, et impossible d'en sortir. Je pense qu'il fallait un ecran+clavier connecté directement, mais je n'avais pas cela... en tout cas, impossible d'avoir accès du coup aux devices USB.

Si je comprends bien, avec HAOS, il n'y a plus ce problème ?

avatar Nicolas Furno | 

@totoguile

C’était peut-être l’installation Supervised ? Elle est déconseillée désormais et je ne connais pas du tout. En tout cas, HAOS fonctionne très bien si on peut l’installer sur un matériel complet ou une machine virtuelle.

avatar totoguile | 

Merci, je pense lui redonner une chance à l'occasion :)

avatar Papalima29 | 

J’ai installé HAOS sur un vieux Mac mini que j’avais upgradé à 8 Go de RAM et un SSD de 500 Go. C’était le bon temps… C’est un peu surdimensionné mais ça marche.
J’attends avec impatience ta série d’articles sur Frigate, car ça n’est pas un petite affaire au niveau de la configuration et de la compatibilité des caméras. J’ai laissé tomber pour l’instant.
Il faudrait aussi que tu nous parles d’ESP home. Il y a beaucoup de choses à dire sur le sujet…

avatar Nicolas Furno | 

@Papalima29

J’en suis encore au tout début de Frigate, je découvre seulement alors ça ne sera pas pour tout de suite. 🙂

Bonne idée pour ESPHome, j’en ai parlé dans la série pour les relais Bluetooth mais j’aimerais y revenir en effet. Reste à trouver de bonnes idées pour exploiter ces petits ordinateurs.

avatar davidrayfr | 

Pour l’instant, je fais tourner HA sur un RPI 3 1Mo, mais c’est très poussif avec le module ESPhome (compilation) pour développer mes capteurs. Cette solution docker est-elle compatible ? Est qu’il ne faut pas passer directement vers un vieux PC avec HAOS ? Si quelqu’un a des retours, je suis preneur !

CONNEXION UTILISATEUR