HomeAssistant : mise en place d’un conteneur Docker

HomeAssistant_logo

Il y a quelques temps, je vous ai parlé de la mise en place de docker, pour passer à un autre niveau de virtualisation : l’application.

Ayant mis en place de la domotique chez moi, je vous propose aujourd’hui de mettre en place LE système domotique le plus utilisé (au jour de l’écriture) : HomeAssistant, aussi connu sous le nom de Hass.io (la version fournie en distribution et un peu plus user-friendly).

Pour cela, on va se baser sur ce que nous avons mis en place dans le précédent guide.

Fichier docker-compose

Comme vous l’avez vu, on va utiliser docker-compose, qui nécessite l’utilisation d’un fichier docker-compose.yml. Je ne vais pas détailler ici la structure d’un fichier docker-compose ou le YAML (YML).

Pour la mise en place de nos conteneurs, on va stocker les données permanentes dans une arborescence /datastore/conteneur (ce choix est totalement arbitraire). Il faut donc la créer :

$ sudo mkdir /datastore

Maintenant, on crée le répertoire du conteneur :

$ sudo mkdir /datastore/homeassistant

Ensuite, on va éditer (ou créer) notre fichier docker-compose.yml :

$ sudo nano /datastore/docker-compose.yml

La première ligne devra être :

version: '3'

Et la deuxième :

services:

Maintenant, notre environnement HomeAssistant :

  homeassistant:
  image: homeassistant/home-assistant:stable
  container_name: homeassistant
  restart: unless-stopped
  volumes:
   - /datastore/homeassistant:/config
  environment:
   - TZ=Europe/Paris
   network_mode: host

On écrit le fichier avec CTRL+O puis Entrée et on quitte avec CTRL+X.

Pour détailler un peu, nous avons donc :
– le nom du service : homeassistant
– le nom de l’image à récupérer sur le docker hub avec sa version : homeassistant/home-assistant:stable
– le nom du conteneur (celui qu’on utilisera dans les appels à docker-compose)
– comment va se comporter le conteneur au niveau du redémarrage : tout le temps sauf si il a été arrêté (manuellement ou autre, voir la documentation docker)
– l’endroit où seront stockées les données persistantes de notre conteneur : le répertoire /config mappé sur /datastore/homeassistant
– une variable d’environnement : la timezone, définie sur Paris
– le réseau sur lequel notre conteneur va écouter : ici, il va se « mapper » directement sur l’interface de l’hôte du conteneur

Démarrer le conteneur

Il ne nous reste plus qu’à démarrer notre conteneur HomeAssistant docker :

$ cd /datastore && sudo docker-compose up -d homeassistant

Et le conteneur démarre alors…

Starting homeassistant ... done

On peut, comme toujours, vérifier l’état du conteneur avec les logs :

$ sudo docker logs homeassistant

Une fois le conteneur démarré (cela peut prendre un peu de temps), vous pouvez accéder à votre nouveau conteneur via l’adresse de votre hôte et le port 8123 :

http://192.168.x.x:8123

Vous arriverez ensuite sur cet écran, vous invitant à créer votre identifiants pour le premier lancement :

Premier lancement de HomeAssistant

Vous voici fin prêt pour débuter l’aventure HomeAssistant !

Exemple complet après création du fichier docker-compose.yml

version: '3' 
services:
homeassistant:
image: homeassistant/home-assistant:stable
container_name: homeassistant
restart: unless-stopped
volumes:
- /datastore/homeassistant:/config
environment:
- TZ=Europe/Paris
network_mode: host

Vous aimerez aussi...

Laisser un commentaire

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