Installer Home Assistant ... sous Windows 10

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 :slight_smile: ) :

  • 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 :slight_smile:

Nota : si vous pensez que cela manque de détails par endroit, dite-moi et je compléterai.

3 « J'aime »

Merci pour le partage !

Petites questions :

  1. Quelle est la différence avec une VM ?
  2. Est-ce plus stable ou est-ce une alternative afin d’obtenir HA ?

Pour te répondre :

  1. Il existe pas mal de sites qui vulgarisent la différence entre VM et Docker. Sans m’étendre sur le sujet, la conteneurisation offre :
  • une diminution de la consommation de ressources : pas d’OS complet à installer et maintenir, ni de mémoire et de disque à dédier.
  • une souplesse de mise en œuvre : créer un conteneur versus créer une VM n’est pas le même effort. Et Docker Hub offre une vaste panoplie de logiciels (dont Home Assistant) à installer très rapidement.
  1. Il s’agit plutôt d’une alternative pour tester Home Assistant car un PC sous Windows 10 n’est pas voué à être actif 24/24, cela reste un OS de bureau pas de serveur. Cet argument reste aussi valable pour une VM sous Windows 10 !

Merci pour ces précisions.

Pour juste tester il y a ça : GitHub - AlexxIT/HassWP: Portable version of Home Assistant for Windows (no need to install)

Version avec Supervisor ?

c’est indiqué 3ieme lignes @John

pffff je lis trop vite :wink:

@mycanaletto c’est une autre approche intéressante sans docker ou VM, juste Python! Je ne connaissais pas.

Cette possibilité sous Windows est plus là pour tester HA qu’autre chose. L’idée de mettre en prod HA sous Windows ne me parait pas très réaliste… Par contre pour se faire une idée c’est top !

Je mets homeassistant en VM en prod sur windows car j’y trouve un intérêt, cela fonctionne parfaitement.

C’est pour les anti Linux

Sur un serveur sans soucis, je pensais plus à ne pas mettre ça sur une station que l’on redémarre souvent…

yes :wink: moi un intel nuc, posé et allumé 24/24 sur windows avec VM

Merci pour ce tuto !
Et pour ceux qui souhaitent avoir une instance en quelques secondes sous Windows il existe aussi ceci :

Globalement on dezip et hop on lance son Home Assistant ! Très pratique pour faire des tests rapides.

Une démo ici :

1 « J'aime »

Hello,
Je déterre ce post sur la possibilité installer home assistant via WSL.
Je suis entrain de faire l’acquisition d’un mini PC plutôt puissant, pour des usages graphiques, video, gaming, IA. Avec un pi qui fait des caprices à mon HA supervised je me demandais s’il ne serait pas intéressant de migrer HA sur WSL2 :

  • le mini PC consomme peu en veille
    -WSL2 offre une optimisation de la cohabitation Linux Windows en terme de ressources
  • je souhaiterais en effet éviter de trop grever les performances cpu, ram du mini pc en créant une VM
    Pensez-vous que dans ces conditions migrer HA sur WSL2 peut valoir le coup ?
    Merci d’avance pour vos retours

Salut,

Si cette machine te servira d’ordinateur de bureau sur lequel tu comptes te connecter pour travailler et jouer, je ne pense pas que ce soit la meilleure idée d’y mettre un serveur domotique. C’est tout de même mieux garder HA sur une machine qui a une vocation de serveur. Donc un peu comme la discussion ci-dessus :slight_smile:
Ca marchera c’est sûr, mais pas forcément très pratique.

1 « J'aime »

Bonjour, Impossible de charger le container dans docker : permission denied. comment dois je faire svp ?