From bb28e16c7dc71d5572827d41ab802d2cfaabb8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Guti=C3=A9rrez?= <35082514+alezmad@users.noreply.github.com> Date: Thu, 9 Apr 2026 11:14:44 +0100 Subject: [PATCH] fix(broker): increase healthcheck start-period, catch Grammy errors Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/broker/Dockerfile | 2 +- apps/broker/src/telegram-bridge.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/broker/Dockerfile b/apps/broker/Dockerfile index 189342b..4e4798c 100644 --- a/apps/broker/Dockerfile +++ b/apps/broker/Dockerfile @@ -37,7 +37,7 @@ COPY --from=deps --chown=bun:bun /deploy /app EXPOSE 7900 -HEALTHCHECK --interval=15s --timeout=5s --start-period=10s --retries=3 \ +HEALTHCHECK --interval=10s --timeout=5s --start-period=30s --retries=5 \ CMD bun -e "fetch('http://localhost:7900/health').then(r=>{process.exit(r.ok?0:1)}).catch(()=>process.exit(1))" # Non-root user (oven/bun image ships with 'bun' uid 1000) diff --git a/apps/broker/src/telegram-bridge.ts b/apps/broker/src/telegram-bridge.ts index 07247c4..273d686 100644 --- a/apps/broker/src/telegram-bridge.ts +++ b/apps/broker/src/telegram-bridge.ts @@ -1404,13 +1404,15 @@ export async function bootTelegramBridge( pushHandler, ); - // Start Grammy long-polling + // Start Grammy long-polling (fire-and-forget, must not crash broker) console.log("[tg-bridge] starting bot..."); bot.start({ onStart: () => console.log( `[tg-bridge] bot running — ${meshConnections.size} mesh(es), ${chatMeshes.size} chat(s)`, ), + }).catch((err: unknown) => { + console.error("[tg-bridge] bot.start() error:", err instanceof Error ? err.message : String(err)); }); }