Update Wall Dashboard Notifier for Server Update Monitoring
Update-Watcher sends structured JSON reports to Update Wall, a self-hosted dashboard for monitoring server updates. Unlike chat or push notifiers that deliver human-readable messages, Update Wall receives a rich, machine-readable payload – hostname, checker results, package names, current and new versions, update type, and priority – and stores it persistently for historical tracking, multi-server comparison, and filtering.
Setup
Step 1: Deploy Update Wall
Deploy Update Wall on a server or machine reachable from all servers running Update-Watcher. Follow the Update Wall installation guide and log in as admin.
Step 2: Create an API Token
In the Update Wall admin panel, navigate to API Tokens and create a new token. Copy it immediately – it is shown only once.
Store the token in an environment variable rather than placing it directly in your configuration file:
export UPDATE_WATCHER_UPDATEWALL_TOKEN="<your-updatewall-token>"Step 3: Configure the Notifier
Add the updatewall notifier to your config.yaml:
notifiers:
- type: updatewall
url: "https://your-updatewall.example.com/api/v1/report"
api_token: ${UPDATE_WATCHER_UPDATEWALL_TOKEN}Step 4: Enable Heartbeat Monitoring (Optional)
To use Update Wall as a heartbeat monitor – confirming that Update-Watcher ran, even when no updates are available – set send_policy: "always" at the top level of your configuration:
send_policy: "always"
notifiers:
- type: updatewall
url: "https://your-updatewall.example.com/api/v1/report"
api_token: ${UPDATE_WATCHER_UPDATEWALL_TOKEN}Configuration Options
| Option | Required | Default | Description |
|---|---|---|---|
url | Yes | – | Full API endpoint URL of your Update Wall instance, e.g. https://your-domain.example.com/api/v1/report. |
api_token | Yes | – | Bearer token created in the Update Wall admin panel. Use an environment variable reference to avoid storing the token in plain text. |
What Update Wall Receives
Each run sends a single JSON POST to url with the following structure:
hostname– The server name that ran Update-Watcher.timestamp– RFC 3339 UTC timestamp of when the check ran.total_updates– Aggregate count of available updates across all checkers.has_security–trueif any checker found security updates.checkers– Array of per-checker entries, each containing:name– Checker identifier (e.g.apt,docker,wordpress).summary– Human-readable summary line.error– Error message if the checker failed (omitted on success).updates– Array of individual updates, each withname, current and new version,type(e.g.security,regular,plugin), andpriority(e.g.critical,high,normal).
The Update Wall dashboard uses these fields to populate its per-checker expandable tables, making it possible to drill into exactly which packages are pending on each server.
Configuration Example
send_policy: "always"
checkers:
- type: apt
- type: docker
notifiers:
- type: updatewall
url: "https://updatewall.example.com/api/v1/report"
api_token: ${UPDATE_WATCHER_UPDATEWALL_TOKEN}Testing
Run Update-Watcher to send a report to Update Wall:
update-watcher runOpen the Update Wall dashboard and verify that your server appears with the correct checker data. Click on a checker row to expand the package table.
If no updates are available and send_policy is only-on-updates, temporarily set send_policy: "always" to force a report and confirm the integration is working.
For troubleshooting, run with verbose output to see the HTTP response:
update-watcher run --verboseA successful delivery returns an HTTP 2xx response from the Update Wall server. If you receive 401 Unauthorized, verify that the api_token value matches the token shown in the Update Wall admin panel.
send_policy: "always" while testing so Update-Watcher always sends a report, even when all packages are up to date.Related
Receive update reports for APT, Docker, WordPress, and 11 more checkers.