From c8952b2ce8be5b13ba91ca24f60ce125cce76ff9 Mon Sep 17 00:00:00 2001 From: NotBigGhost Date: Sat, 3 Oct 2026 12:25:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D1=83=D0=BD=D0=BD=D0=B5=D0=BB=D1=8C:=20d?= =?UTF-8?q?epends=5Fon=20app=20=E2=80=94=20service=5Fstarted=20=D0=B2?= =?UTF-8?q?=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20service=5Fhealthy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Прерванный `docker compose up -d` (закрытая SSH-сессия, Ctrl+C) оставлял контейнер tunnel в статусе Created: он ждал здорового app, а restart-политика на ни разу не стартовавший контейнер не действует — домен показывал заглушку. Пока app не готов, Caddy и так отдаёт заглушку на 502. Co-Authored-By: Claude Opus 5.5 --- docker-compose.temp.yml | 2 +- docker-compose.yml | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docker-compose.temp.yml b/docker-compose.temp.yml index f949d8e..5344ebc 100644 --- a/docker-compose.temp.yml +++ b/docker-compose.temp.yml @@ -56,7 +56,7 @@ services: init: true depends_on: app: - condition: service_healthy + condition: service_started # не ждать health app — см. docker-compose.yml environment: VPS_TUNNEL_HOST: ${VPS_TUNNEL_HOST:?VPS_TUNNEL_HOST is required in .env} VPS_TUNNEL_USER: ${VPS_TUNNEL_USER:-tunnel} diff --git a/docker-compose.yml b/docker-compose.yml index 6d2528d..55ba23d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -62,9 +62,14 @@ services: pull_policy: always restart: unless-stopped init: true + # service_started, а не service_healthy: иначе `docker compose up -d` создаёт туннель и + # запускает его, только дождавшись здорового app, — прерванный up (закрытая SSH-сессия, + # Ctrl+C) оставлял туннель в статусе Created навсегда (restart-политика на ни разу не + # стартовавший контейнер не действует), и домен показывал заглушку. Пока app не готов, + # Caddy и так отдаёт заглушку на 502 — ждать здоровья туннелю незачем. depends_on: app: - condition: service_healthy + condition: service_started environment: VPS_TUNNEL_HOST: ${VPS_TUNNEL_HOST} # обязателен; tunnel.sh упадёт с ошибкой, если пуст VPS_TUNNEL_USER: ${VPS_TUNNEL_USER:-tunnel}