Module 9 · Lesson 19 of 26

Watchdog: the built-in health probe

Part of Mailcow: Self-Hosted Mail Server Mastery — Monitoring (Watchdog, Netdata, Prometheus).

watchdog-mailcow runs continuous internal checks: container health, queue size, certificate expiry, Rspamd response, MariaDB replication lag.

Configure alerts in mailcow.conf:

WATCHDOG_NOTIFY_EMAIL=alerts@yourdomain.com
WATCHDOG_NOTIFY_WEBHOOK=https://hooks.slack.com/services/...
WATCHDOG_NOTIFY_BAN=y           # alert on fail2ban hits
WATCHDOG_SUBJECT="Mailcow alert"

Tuneables:

Variable Purpose Sane default
WATCHDOG_NOTIFY_START Notify when watchdog itself starts n
WATCHDOG_EXTERNAL_CHECKS Probe via 3rd-party DNS resolver y
WATCHDOG_MYSQL_REPLICATION_CHECKS Only if you replicate n

After editing, recreate the container:

docker compose up -d watchdog-mailcow

Sign in to keep track of what you have read.

Pulse · self-hosted sending

Own the infrastructure your pipeline depends on.

One install script on your own server. Pulse sets up the MTA, mailboxes, certificates and dashboard; you add domains and start sending.

# on a fresh Ubuntu server
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

Also from us:Beat — monitoring that tells you the fixConsulting — $65/hr, no retainer