Best EXPORT_TYPES configuration to backup mail, calendars, and contacts

Your question

Hi all,
I am trying to set up a selective backup strategy for a testing machine. My goal is to export only user-specific data (all emails, attachments, calendars, and contacts), while completely excluding the server configuration, domains, global settings.

What is the absolute best combination for EXPORT_TYPES to achieve a clean backup of emails, calendars, and contacts while completely stripping out server settings? Is “data,blob,changelog” the correct way to go?

Thank you for your help!

I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.

on

Here is a precise breakdown to answer your question directly.

What each EXPORT_TYPES family actually contains

Looking at the source, each family maps to specific database subspaces:

Family Subspaces included
data ACLs, indexes, quotas, counters, properties (email metadata, mailbox structure, calendar/contact metadata)
blob Blob content + blob links (actual email bodies, attachments, calendar/contact file content)
registry The internal object registry + the internal directory (accounts, principals)
changelog IMAP CONDSTORE/incremental sync logs
queue Outbound mail queue messages and events
report Outgoing/incoming DMARC/TLS reports
telemetry Tracing spans and metrics
tasks Background task queue

Recommendation for your goal

To capture all user data (emails, attachments, calendars, contacts) while excluding server/global configuration, the correct combination is:

EXPORT_TYPES="data,blob,registry"

Here is why:

  • data holds all structured user data: email metadata, mailbox layout, calendar metadata, contact metadata, ACLs, quotas.
  • blob holds the actual binary content: email bodies, attachments, calendar .ics files, vCards, etc.
  • registry holds the account/principal definitions that own the above data. Without it, the exported data has no user accounts to attach to.

changelog is optional for a backup. It is only needed if you want IMAP CONDSTORE (flag-change history) to survive the restore intact. It does not contain any message or contact content, so you can safely omit it for a clean user-data-only backup.

queue, report, telemetry, tasks are all operational/transient data – in-flight messages, aggregate reports, metrics – and are not part of user mailbox/calendar/contact data.

Important caveat from the docs: The export/import tool is explicitly described as “not a substitute for proper backup procedures” and is designed for database migration. For routine backups, the docs recommend using your database backend’s native tools (e.g., pg_dump for PostgreSQL, filesystem snapshots for RocksDB).

Relevant docs: Database Migration - Choosing what to export and Database Internals.

This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.

Snapshot for server configuration, Vandelay for account backups. The exact split you are looking for.

@Disrupt Yes, but backups are per account only.