Module 8 · Lesson 16 of 25

How dsync replication works

Part of Dovecot: IMAP/POP3 at Production Scale — Replication & Multi-Master Setups.

Dovecot's dsync synchronizes mailboxes between two hosts at the protocol level (not file rsync). It understands IMAP state — flags, keywords, expunges, GUIDs.

Modes:

Mode Trigger Use case
replicator (background) Live, event-driven Active/active production
dsync (CLI) One-shot or cron Migrations, periodic backup

Architecture for active/active:

[ Client ] ─┬─ [ Dovecot A ] ⇄ replication ⇄ [ Dovecot B ] ─┬─ [ Client ]
            └─ load balancer (director)                      ─┘

Both nodes accept reads and writes; the replicator daemon syncs deltas continuously. Conflict resolution uses GUIDs (Globally Unique Mailbox IDs) so the same message stays the same message on both sides.

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