From c08903d2be1aa5ad465f2694ddf6091413d9752d Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 14 Aug 2026 08:05:37 -0400 Subject: [PATCH] autoheal: opt-in mode (AUTOHEAL_CONTAINER_LABEL all->autoheal) Fleet-wide fix matching the vm-db precedent (e3a0ab5). In all-mode autoheal restarts ANY container Docker marks unhealthy, so a healthcheck that blips under load (redis-cli ping timing out) triggers an endless restart loop of a healthy container -- observed on docs 2026-08-14 (paperless-redis + docs_watchtower). Opt-in heals only containers labelled autoheal=true; real crashes stay covered by restart: unless-stopped. Co-Authored-By: Claude Opus 4.8 --- README.md | 2 +- roles/dawarich/templates/docker-compose.yml.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6510aa3..b52b47e 100644 --- a/README.md +++ b/README.md @@ -173,5 +173,5 @@ Pulled from Infisical at deploy time (`infisical.vault.read_secrets` in `site.ym - Watchtower exposes its HTTP API on port 8088 inside the LXC (matches the fleet pattern; 8080 collides with potential second app on this CT). - An `autoheal` sidecar restarts unhealthy containers - (`AUTOHEAL_CONTAINER_LABEL=all`) — fleet ops-sidecar standard, so the compose + (`AUTOHEAL_CONTAINER_LABEL=autoheal`) — fleet ops-sidecar standard, so the compose is 6 containers total (app/db/redis/sidekiq + autoheal + watchtower). diff --git a/roles/dawarich/templates/docker-compose.yml.j2 b/roles/dawarich/templates/docker-compose.yml.j2 index 052b722..7cf57b2 100644 --- a/roles/dawarich/templates/docker-compose.yml.j2 +++ b/roles/dawarich/templates/docker-compose.yml.j2 @@ -166,7 +166,7 @@ services: container_name: autoheal restart: unless-stopped environment: - - AUTOHEAL_CONTAINER_LABEL=all + - AUTOHEAL_CONTAINER_LABEL=autoheal - AUTOHEAL_INTERVAL=15 - AUTOHEAL_START_PERIOD=60 - AUTOHEAL_DEFAULT_STOP_TIMEOUT=30