From 6120e9cd1f4039e447c5a6e9def3345be0269572 Mon Sep 17 00:00:00 2001 From: Robert Helewka Date: Fri, 19 Jun 2026 11:39:38 -0400 Subject: [PATCH] fix(mnemosyne): correct celery healthcheck command The exec-form CMD has no shell, so $$HOSTNAME was never expanded, causing "celery@$HOSTNAME" to match no node and every healthcheck to fail. Remove the -d filter (one worker per container makes it unnecessary) and add -t 8 to accommodate broker round-trip latency. --- docker-compose.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 5995249..f3362ae 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -371,7 +371,12 @@ services: volumes: - media:/mnt/media healthcheck: - test: ["CMD", "celery", "-A", "mnemosyne", "inspect", "ping", "-d", "celery@$$HOSTNAME"] + # No -d destination: exec-form CMD has no shell, so $$HOSTNAME never + # expanded and the literal "celery@$HOSTNAME" matched no node → every + # check failed. There's one worker per container, so an unfiltered ping + # (any node replies = healthy) is correct. -t gives the reply room to + # round-trip through the broker on Oberon (~450ms observed) under jitter. + test: ["CMD", "celery", "-A", "mnemosyne", "inspect", "ping", "-t", "8"] interval: 60s timeout: 10s retries: 3