Monitoring de Docker/Portainer SYNOLOGY via HA

Bonjour,

Je cherche à monitorer une instance de Docker sur un hôte distant (NAS Synology) via Home Assistant.

La majorité des sujets que j’ai trouvés concernent le monitoring d’une instance sur le même hôte que HA mais rien sur une instance distante.

Monitor Docker (côté HA) répond pour la partie « création des sensors » mais je n’arrive pas a me connecter a mon docker sur Synology.

Il semblerais qu’il faut activer la connexion TCP de docker mais je ne trouve pas avec certitude la bonne commande pour DSM 7.

Piste :

https://gist.github.com/styblope/dc55e0ad2a9848f2cc3307d4819d819f (pas testé, peur de planter le paquet du Syno)

Par ailleurs, j’ai aussi regardé du côté de Portainer que j’ai sur le Synology également et ce serait d’ailleurs l’idéal de le connecter lui sur HA plutôt que Docker directement mais là pareil, je ne trouve pas comment faire, cette solution éviterait de modifier directement le Paquet Synology…

Le but premier est de démarrer et arrêter un container à la demande via HA.

Des utilisateurs dans ce cas ?

Merci d’avance.

Salut

Pour pourvoir relier un portainer avec un docker distant il faut activer les api sur dockerd.
Dockerd qui n’est pas forcément manipulable sur syno (j’ai pas ce genre de truc à la maison)

Ensuite c’est un autre sujet, mais portainer c’est pas vraiment du monitoring (où alors rien que du manuel) et c’est peut-être pas souhaitable de l’utiliser (pour moi c’est pas une bonne idée de l’avoir en parallèle du superviseur ha)

salut @Pulpy ,

Je me suis peut être mal exprimer pour la partie Portainer, je vais détailler :

Sur le NAS Synology, j’ai Docker avec plusieurs container dont un container Portainer, ce dernier à accès aux autres container et me permet de les arrêter, redémarrer, etc… facilement sans passer par le NAS syno directement.

A défaut de pouvoir me connecter directement de HA au Docker, l’idée était de me connecter à Portainer :wink:
Sans parler réellement de monitoring, je souhaite pouvoir démarrer et arrêter un Container via HA.

Merci

OK c’est cette partie qui n’induit en erreur. C’est un peu plus clair mais pas encore totalement.

Ton portainer et ton HA étant sur le même host, c’est donc normal que tu vois tous les containers disponibles (avec via le fichier sock).
Par contre, on est bien d’accord que ce n’est pas l’addon portainer dans HA. Puisque dans ce cas, plus de ha = plus de Portainer.
C’est la formulation de ça qui me trouble désormais :

Ha n’est pas sur le même Host que Portainer/Docker, il est sur un autre Host.

Je ne parle pas de l’addon :wink:

  • Host 1 avec HA
  • Host 2 avec Docker/Portainer(NAS Synology)

On va y arriver…
Donc il faut que ha fasse reverse proxy avec portainer :

  • ajouter une iframe à ha

Si en plus tu veux en pourvoir y accéder via internet

  • monter un vrai reverse proxy
  • gérer un contexte root (www.ndd.fr/ha)c’est pour éviter le crossdomain
  • le https

Et dans tous les cas : pas de HA = Pas de Portainer autre que l’accès local en direct

Il y a ça aussi: GitHub - philhawthorne/ha-dockermon: A NodeJS RESTful API which can be used with Home Assistant to report the state of Docker Containers
Pas de jolie interface à la portainer mais des commandes REST (donc intégrables dans HA) pour « jouer » avec les containers… C’est un bon complément à l’interface portainer pour moi.

@pulpy, on s’éloigne je pense du besoin, en gros je veux pouvoir utiliser Monitor Docker ou Ha-Dokermon
(Merci @golfvert , j’avais vu cet addon mais il n’est plus maintenu et il offre les mêmes fonctionnalités que Moniter Docker ) avec l’hôte Docker sur NAS Synology.

Pour résumer, en une ligne, quelqu’un a il réussi a activer la connexion TCP de Docker sur Synology DSM 7 ?

On s’éloigne peut-être. L’information importante à priori c’est que tu veux ‹ piloter › le docker du synology via des entités. Pas via une action manuelle.

c’est exactement ça :slight_smile:
ce qui me permettra de faire par la suite des automatismes.

Dans ce cas, pourquoi ne pas installer monitor docker ou la solution que je t’ai proposée sur le NAS avec un container de plus et de se connecter via HA à ce container distant (sur le NAS) qui monitore du local (sur le NAS)?
Là, pas besoin d’ouvrir le port de la socket docker sur le NAS. Est-ce que la doc DSM dit que c’est possible?
Pour des raisons de sécurité, je vois bien Synology l’interdire.

Je nái pas lu tous mais… de mon côté,
J’ai HA docker sur NUC avec portainer
J’ai un Syno aussi, et j’utilise « socat » qui ,e permet de connecter mon portainer sur NUC de prendre controle

@golfvert C’est tout là le problème, il faut activer Remote API docker sur le Syno et ça c’est pas simple sur DSM 7. Sinon impossible d’accéder au Docker via HA…

Voila ce que dit le Readme de l’addon Ha-Dockermon

HTTP

You can expose the Docker Remote API over a HTTP port. This could allow other systems or parties to control the Docker containers on your host and is not recommended.
Enabling an external HTTP port for Docker is beyond the scope of this readme.

ça c’est la procédure de base

Il faut trouver les correspondances (/var/packages/Docker/etc/dockerd.json notamment ?) avec le syno

Bah non, justement. Si tu installes un des deux outils de monitoring sur le NAS, tu pourra voir les autres containers du NAS via la socket et pas via TCP… Donc, rien à ouvrir sur le NAS. Sauf, si je n’ai vraiment rien pigé.

@golfvert HA n’est pas sur le NAS, il est sur un autre host :wink:
@Pulpy c’est tout la le problème, je check ces posts aussi

Ca, j’ai compris…
Le container de monitoring est sur le NAS, il expose (en tout cas dockermon) une api rest qui est utilisable à distance (le host HA). DOnc, pas besoin d’ouvrir 2375 sur le docker du NAS puisque ça accède à la socket
locale.

A part de socat (facile a installer sur Syno)\ on pourrait aussi installer Sherpa (container) mais j’ai trouvé que socat consomme moins de ressources et marche très bien

Docker Monitor est un Addon HA, je peut pas l’installer sur le NAS.
Persuadé que HA-Dockermon était aussi un Addon, j’ai pas approfondi ce point …
Donc tu propose d’installer un container avec HA-Dockermon sur syno et ce container aurai accès aux autres, ok, j’ai compris là :slight_smile:

Donc, je viens de charger le container Ha-Dockermon via le hub de docker, mais niveau conf va falloir me filler un coup de pouce car je vois pas trop comment configurer le bouzin là , le container plante avec des erreur npm:)

Bon j’ai creusé, le container Ha-Dockermon est enfin bien lancé est fonctionnel :slight_smile:

Et mon sensor HA est fonctionnel, arrêt et démarrage du container OK, objectif reussi.

Allélouia !! Me reste maintenant a voir tout les autres options… notamment les stats, a voir comment créer ce sensor

Je viens de tomber sur ça, je vais tester → custom_components / hadockermon · GitLab

Merci à tous et surtout @golfvert pour son insistance concernant Ha-Dockermon, j’était persuadé que c’était un Addon HA :wink: