Discord notifications

Opt into bounded alert summaries and keep local logs as your primary record.

On this page

Configure a private destination

Delivery defaults off. Create a webhook in a text channel you control and store its URL privately. Never include real webhook URLs in Git, screenshots, chat, or public tickets.

This safe example keeps delivery disabled:

nusa-global.yml · partial example
feature-flags:
  discord-webhook: false
management:
  discord:
    webhook-url: ''

To enable privately, enter a valid official Discord HTTPS webhook, set the flag true, and restart. Custom hosts, redirects, and query parameters are not supported. Merge existing YAML parents.

Alert categories

Categories cover fatal tick/watchdog/shutdown errors while the notifier is alive, sustained low TPS, connected module/plugin enable-disable failures, and repeated input rejections meeting thresholds. Defaults trigger below 15 TPS for 60 seconds, with a 300-second category cooldown.

Summaries exclude payloads, addresses, webhook tokens, exception text, and stack traces. Mentions are disabled. Validation incidents do not establish malicious intent.

Delivery limits

A bounded HTTP queue runs separately from main. Queue overload, network/service limits, OOM, forced exits, and power loss can lose alerts. Earlier bootstrap/config failures occur before a destination is ready. Alerts do not replace logs or host monitoring.

If no message arrives

Check the flag and URL, channel access, outbound HTTPS, cooldown, threshold/duration, and local queue warnings. Do not crash or spam the server for a test; correlate normal safe operational events.

If exposed, rotate the webhook through Discord, update private config, and restart. See management settings for all controls.

Loading the index…