# Chien de garde EVCS — à déployer sur le SECOND Synology (10.10.10.22). # # Il surveille le contrôleur qui tourne sur 10.10.10.17 et, s'il se tait, # remet la consigne de puissance réseau de l'ESS à sa valeur de repos et # arrête la borne — en MQTT direct sur le GX Venus (10.10.10.9), donc sans # passer par Home Assistant ni par le cloud Tuya. # # ⚠️ NE JAMAIS le lancer sur 10.10.10.17 : un chien de garde hébergé par la # machine qu'il surveille meurt avec elle. # # Mise en service : # cd /volume2/projects/EVCS/EVCS/deploy/watchdog # cp watchdog.env.exemple watchdog.env puis y coller la clé API n8n # /usr/local/bin/docker compose up -d # /usr/local/bin/docker compose logs -f # # Vérification sans risque, avant de le laisser en service : # /usr/local/bin/docker compose run --rm evcs-watchdog node tools/watchdog-evcs.mjs --once # /usr/local/bin/docker compose run --rm evcs-watchdog node tools/watchdog-evcs.mjs --once --dry-run --simulate-dead services: evcs-watchdog: image: node:22-alpine container_name: evcs-watchdog restart: always working_dir: /app network_mode: bridge volumes: # Le dépôt en LECTURE SEULE : le chien de garde n'a aucune raison # d'écrire dans le code qu'il exécute. - /volume2/projects/EVCS/EVCS:/app:ro # Son journal, seul point d'écriture, hors du code. # ⚠️ Le dossier ./logs doit EXISTER avant `up` : le démon Docker de # Synology DSM refuse un bind-mount dont le dossier hôte est absent, # là où Docker standard le créerait. Il est versionné vide pour ça. - ./logs:/var/log/evcs-watchdog:rw env_file: - watchdog.env environment: - TZ=Europe/Paris - WATCHDOG_LOG=/var/log/evcs-watchdog/watchdog-evcs.log command: ["node", "tools/watchdog-evcs.mjs"] healthcheck: test: ["CMD", "node", "-e", "process.exit(0)"] interval: 5m