From f4bd7861404414f213cfe88358d50240744f964d Mon Sep 17 00:00:00 2001 From: Oier Bravo Urtasun Date: Sun, 25 Oct 2026 12:33:37 +0100 Subject: [PATCH] chore(uptime-kuma): bump image to :2 The :1 image runs Node 18 (EOL), which gets no fix for the October 2026 Node.js security release. :2 migrates kuma.db in place on first start; back up kuma_data per host before pulling (see plan/10-uptime-kuma.md). Co-Authored-By: Claude Opus 5.5 --- docker-compose.yml | 2 +- plan/10-uptime-kuma.md | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 9a7601c..59d2f09 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -376,7 +376,7 @@ services: # Status monitoring + public status page. caddy proxies status. -> :3001. # Joins mcnet so monitors probe the stack by internal service name. uptime-kuma: - image: louislam/uptime-kuma:1 + image: louislam/uptime-kuma:2 container_name: uptime-kuma restart: unless-stopped volumes: diff --git a/plan/10-uptime-kuma.md b/plan/10-uptime-kuma.md index 445173e..6dc94d7 100644 --- a/plan/10-uptime-kuma.md +++ b/plan/10-uptime-kuma.md @@ -5,13 +5,13 @@ > card. Both ping `minecraft` over `mcnet` but serve different purposes. Status monitoring + public status page. Service `uptime-kuma` -(`louislam/uptime-kuma:1`), web UI on `:3001`, reached only through caddy at +(`louislam/uptime-kuma:2`), web UI on `:3001`, reached only through caddy at `https://status.${BASE_DOMAIN}`. Joined to `mcnet`, so it can probe every other service by its internal container name. ## Add a Minecraft monitor -Uptime Kuma 1.x ships a built-in **Minecraft Server** monitor type. It uses the +Uptime Kuma ships a built-in **Minecraft Server** monitor type. It uses the Server List Ping protocol (the same ping the vanilla multiplayer list uses): unauthenticated, so it works fine with `ONLINE_MODE=FALSE` / `ENFORCE_SECURE_PROFILE=FALSE`. It reports latency, online/max players, and MOTD. @@ -53,6 +53,12 @@ monitor stays green. Run both to tell *server down* apart from *path broken*. `https://auth.${BASE_DOMAIN}`, `https://distribution.${BASE_DOMAIN}`, `https://${BASE_DOMAIN}`, `https://files.${BASE_DOMAIN}` — a red `distribution.` here explains client mod-mismatch join failures. +- **1 → 2 upgrade (2026-10-25)** — moved off `:1`, whose image runs Node 18 + (EOL, no fix for the Oct 2026 Node CVEs). The first `:2` start migrates + `kuma.db` in place (one-way, minutes on a ~140M DB; status page down until it + finishes — don't interrupt). Per host: `docker compose stop uptime-kuma`, tar + the `kuma_data` volume into `./backups/`, then `pull` + `up -d uptime-kuma`. + Rollback = restore the tarball + revert the tag to `:1`. > **An HTTP monitor cannot see an SPA break.** It asserts "the server returned > 200", which is a much weaker claim than "the app works". `files.` (Filestash)