From a10380e1c9c88a9e01a1fbe72d6d902ee01e268c Mon Sep 17 00:00:00 2001 From: Benedikt Franke Date: Thu, 15 Oct 2026 15:52:08 +0200 Subject: [PATCH 1/2] fix(nginx): reload when the healthcheck cannot reach relay or web MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nginx resolves the relay and web upstreams once and keeps the address. When either container comes back on a new address without a Compose operation, e.g. after a crash restart, ingest fails with 502 until someone restarts nginx. A reload resolves both names again and is rejected harmlessly while a name does not resolve. 🤖 Generated with Claude Code --- docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index de09815f0d9..774b07f4153 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -584,10 +584,10 @@ services: - sentry-nginx-www:/var/www healthcheck: <<: *healthcheck_defaults + # A reload looks up relay and web again after their addresses changed test: - - "CMD" - - "/usr/bin/curl" - - http://localhost + - "CMD-SHELL" + - "curl --fail --silent --output /dev/null http://localhost/api/0/relays/live/ && curl --fail --silent --output /dev/null http://localhost/_health/ || { nginx -s reload; exit 1; }" depends_on: web: <<: *depends_on-healthy From bb5d31add07ab31e98eb5e70c3edfaef03a7a9e2 Mon Sep 17 00:00:00 2001 From: Benedikt Franke Date: Thu, 15 Oct 2026 16:00:16 +0200 Subject: [PATCH 2/2] Drop the healthcheck comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with Claude Code --- docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 774b07f4153..89a2a6302f0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -584,7 +584,6 @@ services: - sentry-nginx-www:/var/www healthcheck: <<: *healthcheck_defaults - # A reload looks up relay and web again after their addresses changed test: - "CMD-SHELL" - "curl --fail --silent --output /dev/null http://localhost/api/0/relays/live/ && curl --fail --silent --output /dev/null http://localhost/_health/ || { nginx -s reload; exit 1; }"