Module 7 · Lesson 15 of 26

What Mailcow stores and where

Part of Mailcow: Self-Hosted Mail Server Mastery — Backups, Snapshots & Disaster Recovery.

All persistent state lives in two places:

  1. /opt/mailcow-dockerized/data/ — bind-mounted volumes (configs, certs, Rspamd state, Redis dumps).
  2. Docker named volumes — the heavy stuff (Vmail, MariaDB, Postfix queue, Solr index).

Critical volumes:

Volume What's inside
vmail-vol-1 All mailbox content (the biggest one)
mysql-vol-1 Account DB, ACLs, transports
redis-vol-1 Bayes tokens, fail2ban state
postfix-vol-1 Queue (transient but worth grabbing)
crypt-vol-1 Certificates + DKIM keys

Don't try to back up live Docker volume directories. Use Mailcow's built-in helper:

./helper-scripts/backup_and_restore.sh backup all

It pauses writers, snapshots everything to /var/backup/mailcow_backup_<ts>/, and restarts. Run nightly via cron, then push to S3 / B2 / Wasabi with rclone.

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