Question sur la meilleur facon d'installer Home Assistant avec docker

Merci à tous !

Je ne sais pas trop où poster alors je me dis que dans la continuité de ma présentation, ça limite les vues mais ça peut être pas mal (puis peut-être me donnera-t-on le lieu pour que je décale sur le bon forum :wink: )

Je suis à la recherche de « la meilleure installation possible » pour HA Container sur Debian ! Je me dis que vous pourriez être de (très) bons conseils !

Etant précisé que mon installation actuelle est une installation de test, ça ne me dérange pas de tout casser, tour refaire, c’est justement le but : Je cherche à acheter, et à ce moment là, j’aimerai avoir toutes les billes pour bien tout faire après le déménagement. Après, si tout est déjà prêt ça me va aussi ! :smiley:

Sur la partie « Linux » : Partir sur une bonne organisation

Aujourd’hui j’ai Debian sur un thinkcenter, j’ai 2 utilisateurs : root et vincent (logique…).

J’ai installé en container (via des docker-compose), dans /home/vincent/ :

  • Docker
  • Portainer
  • Home Assistant
  • Mosquitto
  • Zigbee2mqtt

Déjà, est-ce une bonne chose de les avoir mis dans mon dossier utilisateur ? Ou vais-je plus tard devoir créer des utilisateurs pour home assistant par ex, et qu’il faudrait que ces utilisateurs aient accès à ces dossiers ?

Ensuite, les containers n’ont pas la même adresse ip (172.17/18/19 et non 172.17.0.1/2/3), j’ai lu que c’était normal, mais que le plus simple serait de les mettre tous au même endroit ? (en 172.17.0.x). Comment dois-je m’y prendre ?

Avez-vous d’autres commentaires ?

Sur la première partie « Home-Assistant » : Détection de présence

Je me dis que la première partie, à gérer avant de continuer, est la détection de présence (y compris la présence hors domicile)

Sachant que j’ai les téléphones sur le wifi, j’interroge le routeur et liaison avec l’utilisateur : Comment puis-je améliorer cela (sachant que parfois les téléphones se déconnectent du wifi pour limiter la batterie ?). J’ai peur qu’un récepteur bluetooth ne soit pas assez puissant en fonction de l’endroit où l’on est dans la maison.

Comment puis-je lier HA sur internet pour qu’il puisse récupérer les données des téléphones sur certaines zones programmées dans la map - j’ai téléchargé l’appli HA sur mon tel ? (ex : quand j’arrive au bureau, que HA le sache).

Je vais pas plus loin, commençons doucement :wink:

Merci !

Vincent

Pour la partie détection de présence, j’ai déjà utilisé le routeur wifi avec Nmap Tracker
et aussi PING
Mais de ce que j’ai essayé, pour moi, c’est le Bluetooth LE Tracker(Bluetooth low energy) qui fonctionne le mieux.
C’est réactif et la portée est pas si mal.
A titre d’exemple, j’ai une voiture équipée Bluetooth. A mon retour, je la stationne devant la maison. Elle est à une vingtaine de mètre de mon entenne Bluetooth de mon Pi.
HA la détecte.
Pour la présence des personnes, il faut juste laiser le Bluetooth actif sur le smartphone. Mais ce n’est pas ce qui consomme le plus.
Il y a encore d’autre méthode que je n’ai pas esté et que d’autres ici pourront développer.

@+ Guy

1 « J'aime »

je ne sais pas si c’est une « bonne chose », mais c’est exactement ce que je fais. A un détail près. Je ne m’appelle pas Vincent :slight_smile:
Voir ici Containers Docker des exemples utilisés par les uns ou les autres.
Ensuite, tous mes containers sont dans le même réseau. Je ne suis pas assez calé en docker pour dire si séparés oiu ensembles c’est « mieux » dans ce contexte d’installation domestique…

1 « J'aime »

Je disais ça car j’ai très souvent des « Permission non accordée ».

En supposant que le user vincent soit dans le groupe docker, que dans le docker compose tu mets l’uid de vincent, le gid de docker, que les répertoires de données (utilisés comme volume des différents container) appartiennent à vincent:docker tout doit aller comme sur des roulettes. Les containers vont pouvoir lire et écrire dans le volume sans problème…

Le problème c’est que je ne vois pas pourquoi il change de plage d’IP et il ne reste pas sur le défaut :frowning:

Ca veut dire quoi? Les 172.17/18/19 ?

de Plage oui, pas de place :smiley:

Déjà, est-ce que mon docker-compose est bon :

version: '3'

services:
  mosquitto:
    image: eclipse-mosquitto:latest
    container_name: mosquitto
    ports:
      - 1883:1883
      - 9001:9001
    volumes:
      - ./config:/config
      - ./data:/data
      - ./log:/log
    environment:
      - TZ=Europe/Paris
    restart: unless-stopped

ou dois-je rajouter quelque chose ? Normalement il devrait se mettre dans le network par défaut si j’ai bien compris. Hors il change…

Ah… Tout de suite c’est mieux :slight_smile:
C’est cette ligne là qui fait le taf:
network_mode: bridge

Avec ça, tu dis à tous tes containers d’aller dans le réseau bridge par défaut.

Dans la « bible » docker, ce n’est pas ce qu’il faut faire en « production ». Use bridge networks | Docker Documentation

Mais, pour la maison, ça me parait suffisant d’utiliser le bridge par défaut.

Ok, une chose que je n’avais pas dans mes compose. (network_mode: bridge)

En revanche, sur HA, j’ai « network_mode : host ». C’est un problème ? Il n’a pas d’adresse ip quand il est démarré

Perso, j’ai ça:

    environment:
      - PUID=1026
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - /home/moi/config:/config
      - /home/moi/data:/data #optional
      - /home/moi/log:/log #optional

PUID et PGID correspondent à l’UID du user moi et au GID du groupe docker

Et j’utilise les chemins absolus. C’est une vielle habitude… Le ./ dépend de l’endroit ou tu lances la commande le . alors que le chemin complet, c’est sûr ou c’est.

C’est donc que ça devrait fonctionner :

version: '3'

services:
  mosquitto:
    image: eclipse-mosquitto:latest
    container_name: mosquitto
    ports:
      - 1883:1883
      - 9001:9001
    volumes:
      - /home/vincent/config:/config
      - /home/vincent/data:/data
      - /home/vincent/log:/log
    environment:
      - PUID=1000
      - PGID=998
      - TZ=Europe/Paris
    network_mode: bridge
    restart: unless-stopped

C’est possible de changer le type de network de ha sans rien casser ? (le passer en bridge)

Salut,

Techniquement, docker fait des networks (par pile docker-compose) si on lui demande rien. Les containers peuvent se joindre par l’intermédiaire de tous les ports ‹ exposed › dans le network. Donc c’est pas une mauvaise solution de séparer les containers quand ils n’ont pas besoin de se joindre : Une base de données n’est pas forcement accessible depuis un proxy en direct, mais est joignable pas l’intermédiaire d’un front… Et comme une container peut-être lié à autant de networks qu’on veut, c’est une bonne solution c’est de faire : un network (proxy/front), un network (front/bd). Le front a un pied des 2 cotés, donc 2 networks
Dans le cadre de HA, tous les containers sont plus ou moins destinées à communiquer avec HA… du coup les mettre ensemble est assez logique/facile. On peut par contre se poser la question de HA ↔ Mosquito ↔ Zigbee2mqtt …

1 « J'aime »

Salut !

J’ai repris la doc, j’ai lu vos commentaires, modifié 2/3 trucs… Est-ce que les éléments suivants sont normaux ?

  • H.A. est en network_mode : host

  • Puis-je relancer le docker compose (ou un truc du genre) pour ajouter les PUID et PGID qui vont bien sans écraser HA et ce que j’ai pu faire dessus ?

  • Je ne comprends pas les différences entre les types de restart ? (J’ai vu la doc mais je n’ai pas vu de lignes d’explication).

  • Après réinstallation, le container de zigbee2mqtt n’a pas d’adresse ip, est-ce normal ? (Le HA non plus, par contre, mosquitto à bien une adresse avec les mêmes données network_mode)

A noter que j’ai dû aller dans zigbee2mqtt et le « relier » au network, il a maintenant une adresse ip, mais je ne sais pas si mon docker-compose est bien programmé si jamais je réinstalle tout

  • Comment (coté linux) vérifier que les répertoires appartiennent à vincent:docker ?

Merci de votre patience !

Du coup, pas de VLAN dans l’histoire. Tous les flux réseau du host sont transmis au container et inversement

Tant que le container, n’est pas recrée les modifs s’appliquent, les données conservées

En mode host, pas d’adresse ip => logique…

A lire, tout ça la question se pose : HA en docker manuel, c’est le meilleur choix ?

Salut!

Merci pour tes réponses!

J’en comprends que je peux relancer le docker-compose d’HA sans perte de données. Et que lui soit en host ne pose pas de problème.

En revanche, je doute par rapport à Zigbee2mqtt: si HA est en Host, zigbee2mqtt est en bridge comme Mosquitto. Et si pour Mosquitto , il y a bien une adresse ip, ce n’est pas le cas de zigbee2mqtt après le lancement du compose (obligé de cliquer dessus et l’associé au bridge - qui apparaît d’ailleurs déjà comme lié dans le networks). D’où mon interrogation :thinking:

(Edit : Je confirme après avoir vérifié le compose, zigbee2mqtt est bien en network_mode : bridge)

Concernant HA en docker core sans add-on tout manuel, c’est surtout un mauvais choix pour les personnes qui m’aide :grin:

Une petite explication s’impose !

Je suis curieux, j’aime chercher etc, je lis les docs … mais il y a quelques trucs en suspens et j’ai un soucis: j’aime pas ne pas comprendre le fonctionnement…

Pour mon montage HA, je suis actuellement en appartement, et nous cherchons une maison (:crossed_fingers:) : aujourd’hui, je ne fais que des tests (c’est pour ça que je me pose autant de questions…) pour préparer la maison (soit visites + offre + recherche crédit + signature notaire + déménagement = mini 4 mois si on trouve demain…) et je n’ai pas peur de repartir sur une clean install une fois emménagé, voir de passer en supervised si c’est vraiment trop la galère !

J’essaie, je supprime, je tente, je crée des compose les plus propre possible… pour apprendre et pouvoir facilement refaire si je repars sur une clean install.

Le plus saoulant doit être pour vous qui avez la patience et la gentillesse de répondre à mes questions débiles. Un grand merci pour ça!

Vincent

1 « J'aime »

Bon courage!
Perso, ça nous a pris deux ans :slight_smile:

Ca m’arrive aussi. Pas avec ce container mais avec samba. Un « recreate » fait aussi l’affaire.
Je n’ai pour le moment pas trouvé pourquoi.

Salut à tous !

Quelques nouvelles, plus ou moins bonnes :wink:

J’ai réussi à limiter les beugs à l’install de zigbee2mqtt et mosquitto. Mais ca me saoulait : J’ai fait une clean install linux et tout et tout (j’avais modifié beaucoup de chose depuis une semaine pour découvrir, tester, etc).

Maintenant, j’ai un linux propre, docker dessus ainsi que docker-compose et portainer. Tout m’a l’air bon. J’ai beaucoup moins galéré que la semaine dernière (et heureusement !)

Ensuite, la petite installation de Mosquitto, en créant le petit fichier config : Tout à l’air de marcher !
Puis installation de zigbee2mqtt avec la modif du fichier config (sans mot de passe - c’est la prochaine étape je pense) : Tout semble marcher : Comment vérifier ?

Puis maintenant, je m’attaque à homeassistant qui laisse entrevoir la détection de présence via ma clé bluetooth.

J’ai actuellement 2 types de devices pour essayer : un capteur de température et un capteur d’ouverture de porte. Et donc je suis à la recherche de doc sur l’installation (j’imagine qu’il s’agit d’un enregistrement sur zigbee2mqtt, puis de faire le lien en mqtt en l’installant sur HA).

Voila !