Om al je lokale en remote Docker containers te monitoren in Home-Assistant kun je gebruik maken van de integratie Monitor Docker. Zie de documentatie van deze integratie hoe je dit instelt.
Voorbereiden Home-Assistant
Aangezien ik Home-Assistant in een Docker container uitvoer moest ik eerst aan mijn ‘docker-compose.yml’ van mijn Home-Assistant container in de volume sectie nog ‘/var/run/docker.sock’ toevoegen. Mijn ‘docker-compose.yml’ voor Home-Assistant container ziet er nu als volgt uit:
services: homeassistant: container_name: home-assistant image: "ghcr.io/home-assistant/home-assistant:latest" volumes: - /home/henri/docker/HA/config:/config - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock restart: unless-stopped privileged: true network_mode: host devices: - /dev/ttyUSB0:/dev/ttyUSB0
Monitor Docker integratie
Gebruik HACS om de integratie ‘Monitor Docker’ aan je Home-Assistant installatie toe te voegen. Vervolgens moet je de ‘configuration.yml’ file van je Home-Assistant installatie met een editor aanpassen. Zie de documentatie van Monitor Docker hoe je dit doet. Voor alle docker containers die op dezelfde machine als Home-Assistant draaien ziet dit er zo uit bij mij:
monitor_docker: - name: HA containers: - beszel-agent - cup - dozzle - home-assistant - mqtt-explorer - openvpn - portainer rename: bezel-agent: "Beszel Agent" cup: "Cup" dozzle: "Dozzle" home-assistant: Home Assistant mqtt-explorer: "MQTT Explorer" openvpn: "OpenVPN Server" portainer: "Portainer" monitored_conditions: - state
Monitoren Remote Docker Containers
Ik heb echter ook nog een aantal andere machines waarop ik docker containers draai. Die kun je ook monitoren. Je moet daarvoor wel een Docker Proxy draaien op deze machines (die zelf ook weer als docker container draait). Op deze machines heb ik een docker container toegevoegd met de volgende inhoud in de ‘docker-compose.yml’ file:
services: dockerproxy: image: tecnativa/docker-socket-proxy:latest container_name: dockerproxy restart: unless-stopped privileged: true volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - 2375:2375 environment: - BUILD=1 - COMMIT=1 - CONFIGS=1 - CONTAINERS=1 - DISTRIBUTION=1 - EXEC=1 - IMAGES=1 - INFO=1 - NETWORKS=1 - NODES=1 - PLUGINS=1 - SERVICES=1 - SESSSION=1 - SWARM=1 - POST=1
Start de container op met het commando ‘docker compose up -d’. Tenslotte heb ik de ‘configuration.yml’ file van mijn Home-Assistant uitgebreid met de remote dockers informatie. Zo ziet dit er als volgt uit voor mijn ‘Debian Experimenteer’ machine:
- name: Experimenteer url: http://192.168.1.72:2375 containers: - beszel-agent - cup - dockerproxy - dozzle - portainer rename: bezel-agent: "Beszel Agent" cup: "Cup" dockerproxy: "Docker Proxy" dozzle: "Dozzle" portainer: "Portainer" monitored_conditions: - state
Aanpassen User-Interface Home-Assistant
In je ‘Monitor Docker’ integratie vind je nu de status van alle je lokale en remote Docker containers. Ik heb nu een aparte tab-blad gemaakt om de status hiervan te tonen in mijn Home-Assistant installatie:
Conclusie
Je kunt heel eenvoudig de status van al je lokale en remote Docker containers in je netwerk monitoren in Home-Assistant. Zo zie je in 1 oogopslag hoe alles er voor staat m.b.t. je Docker containers.