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 <[email protected]>
This commit is contained in:
Your Name
2026-08-14 08:05:37 -04:00
co-authored by Claude Opus 4.8
parent d1a76f9961
commit c08903d2be
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -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 - Watchtower exposes its HTTP API on port 8088 inside the LXC (matches the
fleet pattern; 8080 collides with potential second app on this CT). fleet pattern; 8080 collides with potential second app on this CT).
- An `autoheal` sidecar restarts unhealthy containers - 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). is 6 containers total (app/db/redis/sidekiq + autoheal + watchtower).
@@ -166,7 +166,7 @@ services:
container_name: autoheal container_name: autoheal
restart: unless-stopped restart: unless-stopped
environment: environment:
- AUTOHEAL_CONTAINER_LABEL=all - AUTOHEAL_CONTAINER_LABEL=autoheal
- AUTOHEAL_INTERVAL=15 - AUTOHEAL_INTERVAL=15
- AUTOHEAL_START_PERIOD=60 - AUTOHEAL_START_PERIOD=60
- AUTOHEAL_DEFAULT_STOP_TIMEOUT=30 - AUTOHEAL_DEFAULT_STOP_TIMEOUT=30