Installer Home Assistant sur Windows 10
Le titre est un peu racoleur mais l’idée ici est de proposer une installation de Home Assistant sur un Windows 10 avec Docker Desktop, principalement pour tester la solution.
Ce tutoriel ne prend pas en compte le composant Supervisor mais uniquement le core de Home Assistant.
Cette installation se réalise avec les étapes suivantes :
- L’activation de la fonctionnalité WSL2 (Windows Subsystem for Linux) de Windows 10 et l’installation de Ubuntu,
- L’installation de Docker Desktop,
- La mise en oeuvre du conteneur Home Assistant.
WSL2 et Ubuntu
Pour ces étapes, je vous renvoi sur la page officielle de Microsoft qui explique trés bien.
A savoir que vous aurez la possibilité d’installer différents OS Linux, à vous de voir suivant votre affinité, je vous conseille toutefois Ubuntu.
De plus, installer également Windows Terminal qui sera un outil bien pratique en remplacement de la console CMD ou PowerShell; il intègre les 2 en mieux.
Docker Desktop
L’installation de la partie Docker est également présentée sur cette page officielle mais en anglais.
En résumé (et pour les anglophobes ) :
- Télécharger Docker Desktop dans sa dernière version community edition.
- Lors de l’installation sur votre machine, l’option d’activation de WSL 2 vous sera demandée, répondre par l’affirmative.
Home Assistant
Il ne vous reste plus qu’à monter le conteneur Home Assistant via Docker. Pour se faire, vous allez utiliser un fichier de description Docker Compose.
Préparations
Depuis votre session Ubuntu (via Windows Terminal), se placer dans votre dossier personnel et créer le chemin ~/home-assistant/
:
monuser@MONPC:/xxx/$ cd ~
monuser@MONPC:~$
monuser@MONPC:~$ mkdir home-assistant
Se placer dans le dossier home-assistant
et y créer le dossier ./config/
dans lequel sera gérée toute la configuration de HA. Vous pourrez y éditer directement les fichiers à postériori :
monuser@MONPC:~$ cd home-assistant
monuser@MONPC:~/home-assistant$
monuser@MONPC:~/home-assistant$ mkdir config
Docker Compose
Créer le fichier ./docker-compose.yml
:
monuser@MONPC:~/home-assistant$ nano docker-compose.yml
… avec pour contenu :
version: '3'
services:
hassio:
image: homeassistant/home-assistant:stable
container_name: home-assistant
privileged: yes
volumes:
- /home/monuser/home-assistant/config:/config
ports:
- 8123:8123
ATTENTION, vous devez personnaliser la partie monuser
dans le chemin du volume /home/monuser/home-assistant/config
.
Démarrer le conteneur avec la commande docker-compose
ci-après. Celle-ci utilisera automatiquement le fichier docker-compose.yml
présent dans le dossier courant.
monuser@MONPC:~/home-assistant$ docker-compose up -d
Pulling hassio (homeassistant/home-assistant:stable)...
stable: Pulling from homeassistant/home-assistant
df20fa9351a1: Pull complete
967dcffa789e: Pull complete
b17ef6dee93d: Pull complete
404ee5797ca3: Pull complete
341b898d61fc: Pull complete
d2956fa9eba7: Pull complete
5097a2b6832d: Pull complete
1dbba55ce2dd: Pull complete
faed7e3529de: Pull complete
1f10032b555c: Pull complete
8f3c2c559f62: Pull complete
3e32a65ac2e3: Pull complete
9e4c72a452de: Pull complete
469efc5eabe5: Pull complete
5ffec3b1c764: Pull complete
08b13df3e17e: Pull complete
version: '3'
43b9f891fe85: Pull complete
ea6306aaac1d: Pull complete
762d4c190884: Pull complete
37c41c974483: Pull complete
Digest: sha256:f2cfc503d0a6572174af5b3443cc1d25a0c3aed50e27e5873366b9df79bbb986
Status: Downloaded newer image for homeassistant/home-assistant:stable
Recreating hassio_supervisor ... done
Attaching to home-assistant
home-assistant | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
home-assistant | [s6-init] ensuring user provided files have correct perms...exited 0.
home-assistant | [fix-attrs.d] applying ownership & permissions fixes...
home-assistant | [fix-attrs.d] done.
home-assistant | [cont-init.d] executing container initialization scripts...
home-assistant | [cont-init.d] udev.sh: executing...
home-assistant | starting version 3.2.9
home-assistant | [13:59:57] INFO: Update udev information
home-assistant | [cont-init.d] udev.sh: exited 0.
home-assistant | [cont-init.d] done.
home-assistant | [services.d] starting services
home-assistant | [services.d] done.
home-assistant | Unable to find configuration. Creating default one in /config
L’option -d
est pour lancer le conteneur en arrière plan, sans quoi vous resterez dans la session de votre conteneur et il s’arrêtra dès que vous en sortirez.
Si vous regarder dans l’interface de Docker Desktop, vous y verrez votre conteneur Home Assistant.
1er démarrage
Ouvrez maintenant votre navigateur sur http://MonIpLocale:8123, votre Home Assistant est prêt!
Vous pouvez continuer sur le tuto : Home Assistant 1ère configuration
Conclusion
Home Assistant sur ce type d’environnement n’est pas le plus adapté mais peut convenir à certains qui ne souhaitent pas investir dans un 1er temps dans un Raspberry Pi ou autre.
En espérant que cela aidera à découvrir HA
Nota : si vous pensez que cela manque de détails par endroit, dite-moi et je compléterai.