From 74f1e9eb0b0b26973405f6688c13bcf5e65b31cd Mon Sep 17 00:00:00 2001 From: Randall Stillwell Date: Sat, 12 Sep 2026 16:32:15 -0500 Subject: [PATCH] fix(opencode): escape healthcheck shell vars for Compose Compose was interpolating $AUTH at parse time, breaking the BusyBox probe. Co-authored-by: Cursor --- docker/docker-compose.prod.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/docker-compose.prod.yml b/docker/docker-compose.prod.yml index 3111fe3..ce5e21d 100644 --- a/docker/docker-compose.prod.yml +++ b/docker/docker-compose.prod.yml @@ -244,9 +244,10 @@ services: - "4096:4096" healthcheck: # BusyBox wget has no --user/--password; use Authorization header. + # $$ escapes so Compose does not interpolate AUTH at parse time. test: - CMD-SHELL - - 'AUTH=$(printf "%s" "${OPENCODE_SERVER_USERNAME:-opencode}:${OPENCODE_SERVER_PASSWORD}" | base64 | tr -d "\n"); wget -qO- --timeout=3 --header="Authorization: Basic $AUTH" http://127.0.0.1:4096/global/health >/dev/null || exit 1' + - 'AUTH=$$(printf "%s" "$${OPENCODE_SERVER_USERNAME:-opencode}:$${OPENCODE_SERVER_PASSWORD}" | base64 | tr -d "\n"); wget -qO- --timeout=3 --header="Authorization: Basic $$AUTH" http://127.0.0.1:4096/global/health >/dev/null || exit 1' interval: 30s timeout: 10s retries: 3