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:
1
arty.yml
1
arty.yml
@@ -163,6 +163,7 @@ envs:
|
|||||||
WATCHTOWER_RUN_ONCE: false
|
WATCHTOWER_RUN_ONCE: false
|
||||||
WATCHTOWER_LOG_LEVEL: info
|
WATCHTOWER_LOG_LEVEL: info
|
||||||
WATCHTOWER_ROLLING_RESTART: false
|
WATCHTOWER_ROLLING_RESTART: false
|
||||||
|
WATCHTOWER_NOTIFICATIONS: mattermost
|
||||||
|
|
||||||
scripts:
|
scripts:
|
||||||
config: docker compose config
|
config: docker compose config
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ services:
|
|||||||
- NETDATA_CLAIM_TOKEN=${NETDATA_CLAIM_TOKEN:-}
|
- NETDATA_CLAIM_TOKEN=${NETDATA_CLAIM_TOKEN:-}
|
||||||
- NETDATA_CLAIM_URL=${NETDATA_CLAIM_URL:-}
|
- NETDATA_CLAIM_URL=${NETDATA_CLAIM_URL:-}
|
||||||
- NETDATA_CLAIM_ROOMS=${NETDATA_CLAIM_ROOMS:-}
|
- NETDATA_CLAIM_ROOMS=${NETDATA_CLAIM_ROOMS:-}
|
||||||
|
- MATTERMOST_WEBHOOK_URL=${MATTERMOST_WEBHOOK_URL:-}
|
||||||
networks:
|
networks:
|
||||||
- compose_network
|
- compose_network
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -24,3 +24,24 @@ role_recipients_email[dba]="${ADMIN_EMAIL}"
|
|||||||
role_recipients_email[webmaster]="${ADMIN_EMAIL}"
|
role_recipients_email[webmaster]="${ADMIN_EMAIL}"
|
||||||
role_recipients_email[proxyadmin]="${ADMIN_EMAIL}"
|
role_recipients_email[proxyadmin]="${ADMIN_EMAIL}"
|
||||||
role_recipients_email[sitemgr]="${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"
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ services:
|
|||||||
BACKREST_CONFIG: /config/config.json
|
BACKREST_CONFIG: /config/config.json
|
||||||
XDG_CACHE_HOME: /cache
|
XDG_CACHE_HOME: /cache
|
||||||
TMPDIR: /tmp
|
TMPDIR: /tmp
|
||||||
|
MATTERMOST_WEBHOOK_URL: ${MATTERMOST_WEBHOOK_URL:-}
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
- compose_network
|
- compose_network
|
||||||
|
|||||||
Reference in New Issue
Block a user