Areas we serve

Self-Hosted Stalwart: JMAP, IMAP, and CalDAV on One Rust Mail Server

Google Workspace is easy until it is not: per-seat pricing, a support ticket to fix SPF, and your inbox living in a jurisdiction you never chose. Running your own mail used to mean gluing Postfix, Dovecot, Rspamd, and a calendar stack together while praying upgrades do not brick Sunday morning.

Stalwart (~15k stars, AGPL-3.0) is a Rust all-in-one mail and collaboration server: JMAP, IMAP, POP3, SMTP, CalDAV, CardDAV, and WebDAV in one binary (or container), with a web admin UI that actually lets you manage queues, domains, and users without living in config files.

What Stalwart replaces

Instead of a patchwork of daemons, you get one project that speaks modern and legacy clients:

  • Mail — JMAP (plus Sieve over JMAP), IMAP4rev2, POP3, SMTP with built-in SPF, DKIM, DMARC, and ARC handling, MTA-STS, DANE, greylisting, sieve scripts, milter hooks
  • Calendar and contacts — CalDAV scheduling, CardDAV, JMAP calendars/contacts
  • Files — WebDAV with ACLs and JMAP file storage on the roadmap
  • Spam and abuse — DNSBLs, statistical classifier, Pyzor, phishing heuristics, reputation tracking, optional LLM-assisted filtering
  • Auth — built-in directory, LDAP, OIDC, OAuth device flows, 2FA-TOTP, SCIM provisioning, app passwords

Storage is pluggable (RocksDB by default, PostgreSQL, S3-compatible backends, and more). Full-text search can stay internal or plug into Meilisearch, OpenSearch, or Postgres. For operators who outgrow a single box, there is clustering coordination via Kafka, NATS, Redis, or peer-to-peer — plus Kubernetes and Swarm notes in the docs.

Why self-host mail in 2026?

Data sovereignty. Municipalities, law firms, clinics, and anyone under PIPEDA pressure often need to say where mail is stored and who can subpoena it. A VPS in Canada with disks you control beats "trust us, it is in a region."

One bill, many mailboxes. Family domains, small agencies, and internal tools email do not map cleanly to per-user SaaS pricing.

Protocol freedom. JMAP-first clients (Thunderbird, etc.) get a fast sync path; everyone else still has IMAP. You are not locked into a single vendor's web UI.

Honest caveat: self-hosted mail is not a weekend hobby if you ignore DNS. You need correct MX, reverse DNS, SPF, DKIM, DMARC, and a provider that allows outbound port 25 (or a relay). Stalwart automates a lot of TLS (ACME with DNS-01) and DKIM rotation, but reputation still belongs to you.

How people run it

Three common paths:

Official install script — downloads the latest release tarball, creates a stalwart system user, and drops a systemd unit. Good for a dedicated mail VM.

Docker — documented at stalw.art; published images track releases. Mount a data volume, publish 443 (HTTPS admin + JMAP), 587/465 (submission), and 25 only if your host allows it.

From source — Rust toolchain for contributors; production users usually stick to releases.

First boot walks you through the web admin on port 8080 (or HTTPS once certs exist). Plan 2 GB RAM minimum for a small domain, more if you enable heavy spam ML, full-text search backends, or cluster nodes.

Who should (and should not) run Stalwart

Good fit: custom domains for a team that outgrew forwarding rules, privacy-focused orgs, integrators who want LDAP/OIDC and SCIM beside IMAP, homelabbers who want calendars without Google.

Skip it: solo users who only need Gmail; anyone unwilling to maintain DNS and monitor blacklists; shared hosting without SMTP egress.

We do not run your mail for you, but we do run the metal: static IPs, rDNS requests, firewall baselines, and snapshot backups on Canadian VPS hosting. Pair that with Docker or a bare VM depending on how you want to isolate Stalwart from the rest of the stack.

Tell us mailbox count, whether you need outbound relay, and if LDAP/OIDC is in play — we will size the server and leave port 25 policy clear before you cut over MX records.

Tags:
  • Stalwart
  • Email
  • JMAP
  • CalDAV
  • Self-Hosted
  • Rust

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.