feat: configure Mattermost webhook integrations

Added Mattermost webhook notifications for infrastructure services:

- **Netdata**: Health monitoring alerts sent to Mattermost
  - Configured via MATTERMOST_WEBHOOK_URL environment variable
  - All alert roles route to Mattermost notifications channel

- **Restic/Backrest**: Backup status notifications
  - Webhook URL passed as environment variable
  - Backrest web UI can be configured to use the webhook

- **Watchtower**: Container update notifications
  - Uses Shoutrrr mattermost:// URL format
  - Sends notifications when containers are updated

Configuration:
- Webhook URL stored securely in .env file
- All services reference ${MATTERMOST_WEBHOOK_URL} variable
- Watchtower uses specialized Shoutrrr format URL

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-08 19:59:58 +01:00
parent 5342dcfaf2
commit 151fdc4b00
4 changed files with 24 additions and 0 deletions

View File

@@ -163,6 +163,7 @@ envs:
WATCHTOWER_RUN_ONCE: false
WATCHTOWER_LOG_LEVEL: info
WATCHTOWER_ROLLING_RESTART: false
WATCHTOWER_NOTIFICATIONS: mattermost
scripts:
config: docker compose config

View File

@@ -33,6 +33,7 @@ services:
- NETDATA_CLAIM_TOKEN=${NETDATA_CLAIM_TOKEN:-}
- NETDATA_CLAIM_URL=${NETDATA_CLAIM_URL:-}
- NETDATA_CLAIM_ROOMS=${NETDATA_CLAIM_ROOMS:-}
- MATTERMOST_WEBHOOK_URL=${MATTERMOST_WEBHOOK_URL:-}
networks:
- compose_network
labels:

View File

@@ -24,3 +24,24 @@ role_recipients_email[dba]="${ADMIN_EMAIL}"
role_recipients_email[webmaster]="${ADMIN_EMAIL}"
role_recipients_email[proxyadmin]="${ADMIN_EMAIL}"
role_recipients_email[sitemgr]="${ADMIN_EMAIL}"
###############################################################################
# Mattermost notifications
###############################################################################
# Enable Mattermost notifications
SEND_MATTERMOST="YES"
# Mattermost incoming webhook URL
MATTERMOST_WEBHOOK_URL="${MATTERMOST_WEBHOOK_URL}"
# Mattermost channel (optional, webhook default channel will be used if empty)
DEFAULT_RECIPIENT_MATTERMOST=""
# Mattermost notification recipients per role
role_recipients_mattermost[sysadmin]="notifications"
role_recipients_mattermost[domainadmin]="notifications"
role_recipients_mattermost[dba]="notifications"
role_recipients_mattermost[webmaster]="notifications"
role_recipients_mattermost[proxyadmin]="notifications"
role_recipients_mattermost[sitemgr]="notifications"

View File

@@ -38,6 +38,7 @@ services:
BACKREST_CONFIG: /config/config.json
XDG_CACHE_HOME: /cache
TMPDIR: /tmp
MATTERMOST_WEBHOOK_URL: ${MATTERMOST_WEBHOOK_URL:-}
networks:
- compose_network