Add experimental server alerts and webhook notifications
Release rolling / release (push) Successful in 7m30s
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:
File diff suppressed because it is too large
Load Diff
@@ -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') {
|
||||
|
||||
Reference in New Issue
Block a user