Add experimental server alerts and webhook notifications
Release rolling / release (push) Successful in 7m30s

Server-side alerting for Docker/container/stack health with Discord,
Slack, Teams, ntfy, Gotify, Telegram, and generic webhooks. Settings
tab, client cache, and backup/restore coverage; marked experimental.
This commit is contained in:
Raven Scott
2026-07-17 18:10:43 -04:00
parent 366333e6bd
commit 5b8fb142bb
18 changed files with 2886 additions and 19 deletions
File diff suppressed because it is too large Load Diff
+8
View File
@@ -6,6 +6,7 @@ import { docker, extractVolumesList } from './docker.js'
import { peers } from '../core/peer-registry.js'
import { Pushes } from '../../shared/protocol.js'
import { broadcastContainers } from '../handlers/containers.js'
import { onDockerEvent } from './alerts.js'
import logger from '../utils/logger.js'
let dockerEventStream = null
@@ -93,6 +94,13 @@ async function openEventStream() {
data: event,
})
// Server-side alerting (webhooks) — independent of connected clients
try {
onDockerEvent(event)
} catch (e) {
logger.debug('alerts onDockerEvent error', { error: e?.message })
}
// Do not rebroadcast the full list on every exec_*/health_status event —
// that thrashed clients (rows flicker / disappear on each refresh).
if (event.Type === 'container') {