Accès et gestion docker distant

Bonjour,

Pour soulager le NUC sur lequel est installé HA, j’ai déporté frigate sur un autre NUC (debian 12) , sur lequel il y a docker/compose, portainer, glances et frigate. J’arrive à récupérer les infos des containers et autres via glances, mais je voudrais pouvoir gérer les containers via HA, comme les arrêter et les redémarrer.

Quelle serait la meilleure approche pour vous pour pouvoir faire ça ?
Ou alors il y a t’il un addon HA qui permet déjà de faire ça ?

Merci.

Salut!
Si j’ai bien compris ce que tu voudrais c’est Portainer sur HA ?

Sinon, 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

Hello,
Je n’ai pas compris si les 2 liens permettaient de faire ce que je voulais.
En fait sur le NUC 1 avec HA, je voudrais pouvoir gérer les containers du NUC 2 sur lequel il y a frigate, en me servant de HA avec lequel j’ai un accès distant avec nabucasa, du coup ça m’évite de devoir trouver comment accéder au NUC 2 depuis l’extérieur, ce qui pourrait poser des pbs de sécurité.

Merci.

Bah du coup oui.
Le premier c’est l’addon portainer.
Le second je ne connaissais pas mais la doc dit

  • Get the status of a container (running, stopped, paused).
  • Start, stop, pause, or unpause a container by issuing a POST request.
  • Start, stop, pause, or unpause a container by issuing a GET requst.
  • Restart a container by making a GET request to a URL for the container (details below).
  • Execute commands inside a container using the /exec endpoint of a container.

Hello,

Merci @golfvert pour le lien.
Du coup, j’ai installé dockermon sur mon autre NUC,

et j’arrive à lire l’état du container frigate (par exemple) avec un GET via l’url 192.168.1.44:8126/container/frigate , qui renvoie => {"state":"running","status":"Up 14 hours (healthy)","image":"ghcr.io/blakeblackshear/frigate:stable"}.

1 « J'aime »

Hello,

Des fois on se complique la vie pour rien

http://192.168.1.44:8126/container/frigate/start
http://192.168.1.44:8126/container/frigate/stop

directement dans un navigateur, ça fonctionne.

Du coup création d’un switch rest

switch:
  - platform: rest
    name: frigate_switch
    resource: http://192.168.1.44:8126/container/frigate
    body_on: '{"state": "start"}'
    body_off: '{"state": "stop"}'
    is_on_template : '{{ value_json is not none and value_json.state=="running" }}'

Capture d'écran 2024-07-25 165743

Mais si je met le switch à OFF, celui-ci revient presque aussitôt à ON.
Un rapport avec le -restart=always à la création du container ?

Merci.

Hello,

Vu le souci du dessus, j’ai fait deux boutons à la place d’un switch

  frigate_stop:
    url: http://192.168.1.44:8126/container/frigate
    method: post
    content_type: "application/json"
    payload: '{"state":"stop"}'

  frigate_start:
    url: http://192.168.1.44:8126/container/frigate
    method: post
    content_type: "application/json"
    payload: '{"state":"start"}'

Et maintenant, ça fonctionne :wink: