From ec46d21676cf2200f99354f2b21e48ed074c610a Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 5 Jul 2026 18:27:13 -0400 Subject: [PATCH] =?UTF-8?q?ops-sidecar:=20add=20autoheal=20(AUTOHEAL=5FCON?= =?UTF-8?q?TAINER=5FLABEL=3Dall)=20=E2=80=94=20fleet-wide=20standard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restarts any container that goes unhealthy, giving the 'healthcheck on every container' convention teeth (previously only mediapvr had autoheal, and in opt-in label mode = inert). Raw docker.sock RW (restart needs POST; can't use the read-only socket-proxy). Sweep 2b. Co-Authored-By: Claude Opus 4.8 (1M context) --- roles/dawarich/templates/docker-compose.yml.j2 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/roles/dawarich/templates/docker-compose.yml.j2 b/roles/dawarich/templates/docker-compose.yml.j2 index d7f0092..052b722 100644 --- a/roles/dawarich/templates/docker-compose.yml.j2 +++ b/roles/dawarich/templates/docker-compose.yml.j2 @@ -160,6 +160,20 @@ services: OTP_ENCRYPTION_KEY_DERIVATION_SALT: "{{ dawarich_otp_salt }}" BACKGROUND_PROCESSING_CONCURRENCY: "{{ dawarich_sidekiq_concurrency }}" + # autoheal — restarts any container that goes unhealthy (fleet ops-sidecar standard) + autoheal: + image: willfarrell/autoheal:latest + container_name: autoheal + restart: unless-stopped + environment: + - AUTOHEAL_CONTAINER_LABEL=all + - AUTOHEAL_INTERVAL=15 + - AUTOHEAL_START_PERIOD=60 + - AUTOHEAL_DEFAULT_STOP_TIMEOUT=30 + - TZ=America/Toronto + volumes: + - /var/run/docker.sock:/var/run/docker.sock + watchtower: container_name: dawarich_watchtower image: ghcr.io/nicholas-fedor/watchtower:latest