Stalwart vs Mailcow
Pick Stalwart for a modern, low-footprint mail server — SMTP, IMAP, and JMAP from a single Rust binary that measures ~10 MB idle at first boot and runs on a 1 GB VPS. Pick Mailcow if you want the mature, batteries-included suite — SOGo webmail, ActiveSync, and a polished admin UI — and have 6–8 GB of RAM to give it.
Side by side
Stalwart and Mailcow both let you run your own email instead of renting Google Workspace or Microsoft 365, and both are credible choices. But they answer the question "what should a self-hosted mail server be?" in opposite ways. Stalwart is a single modern binary that does everything in one process; Mailcow is a curated stack of 18 containers that assembles the classic open-source mail tools into a complete groupware suite. Almost every practical difference — RAM, webmail, mobile sync, how much there is to break — flows from that one architectural split.
One Rust binary vs. the full suite
Stalwart is a ground-up rewrite of the mail stack in Rust. SMTP, IMAP, JMAP, and CalDAV/CardDAV all live inside the same executable, with a built-in web admin for configuration, queues, and TLS. There is no separate MTA, IMAP daemon, database engine, or antispam service to wire together — the whole server is one thing you start and point DNS at. That design is what makes it so light, and it also means fewer moving parts to reason about when something goes wrong.
Mailcow takes the opposite bet. It orchestrates the battle-tested pieces — Postfix for SMTP, Dovecot for IMAP, Rspamd for spam filtering, ClamAV for antivirus, SOGo for webmail and groupware, and a PHP admin UI — into a docker-compose stack that behaves like a single product. You get a mature, well-trodden setup where every component has years of documentation behind it, at the cost of running and updating 18 containers.
Footprint and the VPS you'll need
This is where the split hits your wallet, and the numbers are now measured, not estimated. A fresh, empty Stalwart instance idles at ~10 MB at first boot — that is an empty instance; upstream documents roughly 100 MB idle once it is serving mailboxes — and it runs comfortably on a 1 GB VPS, so a small, cheap instance is enough for a personal domain or a small team. Mailcow measured ~2.2 GB idle at first boot on the same box (18 containers, ClamAV alone ~960 MB, no mailboxes yet), and its own docs put the floor at 6 GiB RAM plus 1 GiB swap for the default configuration, and recommend 8 GiB for roughly 5–10 users, scaling further with ActiveSync connections. Measured side by side — ~10 MB against ~2.2 GB idle, before either has handled a message — the story is the same: a single Rust binary versus an orchestrated stack of 18 containers isn't a close call on hardware. If you are provisioning a server specifically for mail, that difference is the gap between the smallest VPS tier and something several times the cost.
Webmail, groupware, and mobile
Mailcow's completeness earns its footprint here. SOGo provides a full webmail client plus shared calendars and contacts, and SOGo also speaks Exchange ActiveSync, so iPhone Mail and Outlook configure themselves and sync mail, calendar, and contacts the way users expect from a commercial provider. For a team that just wants email that works like Gmail did, that is a real advantage.
Stalwart deliberately stops at the server boundary. It speaks IMAP and JMAP and does CalDAV/CardDAV, but it does not bundle a webmail UI — you connect Thunderbird, Apple Mail, or any IMAP client, or run a separate webmail such as Roundcube alongside it. That is less turnkey for non-technical users, but it keeps the server itself small and single-purpose.
Protocols: JMAP is the modern twist
Both handle the classics, but Stalwart's JMAP support is a genuine differentiator. JMAP is a modern, efficient HTTP/JSON sync protocol designed to succeed the aging IMAP round-trips, and Stalwart is one of the few servers that implements it as a first-class citizen. If you care about the state of the art in mail protocols — or want to build on top of one — Stalwart is the more forward-looking choice. Mailcow stays firmly in the proven IMAP/SMTP world.
Which to choose
Choose Stalwart for a new deployment where a small footprint, a single moving part, and modern protocols matter, and where "bring your own client" is fine. Choose Mailcow when you want the mature, all-in-one groupware experience — webmail, calendars, ActiveSync — out of the box, and the extra RAM is not a concern. A rough rule of thumb: Stalwart if you are the main user and comfortable with mail clients; Mailcow if you are standing this up for other people who expect a polished, familiar inbox.
Not the only two options
Stalwart and Mailcow are the two ends of the spectrum — leanest single binary versus fullest groupware stack — but they aren't the only self-hosted mail servers worth knowing about. Mailu sits in the middle: a lighter, MIT-licensed Docker Compose stack (SMTP/IMAP, webmail, antispam, an admin panel) that's more turnkey than assembling components by hand but without Mailcow's SOGo groupware layer or its RAM appetite. docker-mailserver sits at the other end from Mailcow's turnkey wizard — the classic Postfix/Dovecot combination as Docker Compose with no admin UI at all, for people who want full manual control over every config file. See our full Mailu vs docker-mailserver comparison if either of those fits your shape better than a single binary or a full groupware suite.
Who should pick neither
If neither "one Rust binary" nor "a 6 GB+ groupware stack" fits — say you want something more turnkey than Stalwart's bring-your-own-webmail model but meaningfully lighter than Mailcow's 18 containers — Mailu is the honest middle ground, and our Mailcow vs Mailu comparison is worth reading before committing to either end of this one.
Choosing between Mailcow and Stalwart
Reversed, the decision is the same trade-off restated: pick Mailcow first only if SOGo webmail, calendars/contacts, and ActiveSync for iPhone Mail and Outlook are requirements, not nice-to-haves, and you have the 6–8 GB of RAM its docs call for. Otherwise, default to Stalwart — a measured ~10 MB idle footprint, a single binary to patch and back up, and first-class JMAP alongside the SMTP/IMAP classics, at the cost of bringing your own mail client or webmail.
The part neither solves: deliverability
One caveat dwarfs the software choice. The hard part of self-hosting email is not the server — it is convincing the rest of the internet to trust it. Whichever you pick, you still need a clean sending IP with a good reputation, a correct reverse-DNS (PTR) record, and properly configured SPF, DKIM, and DMARC. Get those wrong and your mail lands in spam no matter how polished the software is. Budget as much time for DNS and reputation as for the install itself; that, far more than the Stalwart-versus-Mailcow decision, determines whether self-hosted email actually works for you.
Common questions
Stalwart vs Mailcow — which self-hosted mail server should I pick?
Pick Stalwart for a modern, lightweight server: SMTP, IMAP, and JMAP from a single Rust binary on as little as 1 GB of RAM. Pick Mailcow for a mature, all-in-one suite with SOGo webmail, ActiveSync, and a polished admin UI, if you can spare 6–8 GB of RAM.
Which needs less RAM, Stalwart or Mailcow?
Stalwart, by a wide margin. A fresh install measures ~10 MB idle at first boot and runs comfortably on a 1 GB VPS, while Mailcow's 18-container stack measures ~2.2 GB idle at first boot, and its docs set a 6 GiB RAM plus 1 GiB swap minimum with 8 GiB recommended for 5–10 users.
Does either include webmail?
Mailcow bundles SOGo webmail and ActiveSync out of the box. Stalwart focuses on the mail server itself — you connect any IMAP or JMAP client, or add a separate webmail such as Roundcube.
Paid link — we earn a commission if you shop through it.
Other comparisons with these apps
The complete admin-UI suite vs. the bare config-file container.
The full groupware suite vs. the lighter wizard-built mail stack.
A web-managed suite vs. a config-file container.