Add server-side health checks for service online status

- update-health.js: pings every service URL from script.js (single
  source of truth) in parallel every minute via cron and writes
  health.json; any HTTP response below 500 counts as online, 5xx as
  error, timeouts/DNS failures as offline; TLS validity ignored
- Card badges now show real state instead of a static Online label:
  grey Checking, green Online (with latency tooltip), amber Error
  (HTTP code), red Offline (reason); refreshed every 30 s
- Entrypoint runs a first sweep at boot; nginx serves /health.json
  with no-cache; README documents the behavior
This commit is contained in:
2026-09-04 14:15:08 +02:00
parent e766fcd95c
commit 012eee6c45
7 changed files with 194 additions and 7 deletions
+5
View File
@@ -13,6 +13,11 @@ server {
add_header Cache-Control "no-cache" always;
}
# Service health checks; refreshed every minute by cron.
location = /health.json {
add_header Cache-Control "no-cache" always;
}
# Open WebUI chat proxy.
location /api/chat {
proxy_pass http://127.0.0.1:3001;