Mailcow vs Mailu
Pick Mailcow for the complete groupware suite — SOGo webmail, calendars, contacts, and ActiveSync behind a polished admin UI — if you can give it the 6 GB of RAM its docs call for (8 GB for 5–10 users). Pick Mailu for a web admin panel and Roundcube or SnappyMail webmail on a far smaller box — 1 GB without antivirus, 3 GB with ClamAV — when you don't need ActiveSync.
Side by side
Mailcow and Mailu are the two Docker mail suites people weigh against each other when they want a web admin panel and webmail in the box, rather than a bare config-file container. Both wrap Postfix, Dovecot, and Rspamd in Docker, both terminate their own TLS with Let's Encrypt, and both get you off Google Workspace. The difference is scope. Mailcow is a full groupware suite — SOGo webmail, calendars, contacts, ActiveSync — and it sizes its hardware floor accordingly. Mailu is a leaner set of images built around mail itself, with webmail and calendars as options you switch on. That one decision drives the RAM bill, the setup flow, and who each one suits.
A groupware suite vs. a mail stack with options
Mailcow runs 18 containers as one product: Postfix, Dovecot, Rspamd, ClamAV, MariaDB, Redis, Unbound, Nginx, an ACME container for certificates, and SOGo, which its docs describe as the "integrated webmailer and Cal-/Carddav interface." ActiveSync comes through SOGo too, so iPhone Mail and Outlook pick up mail, calendar, and contacts the way users expect from a commercial provider. The admin UI covers domains, mailboxes, DKIM, per-user spam scores, a quarantine, and two-factor login.
Mailu ships as a smaller set of images — a front-end Nginx, an admin app, Dovecot, Postfix, Rspamd, and Redis — with webmail (Roundcube or SnappyMail), ClamAV antivirus, and a Radicale CalDAV/CardDAV server each available as an option in its env file rather than always on. Its own feature list reads like a mail server's: aliases, domain aliases, auto-reply, fetched accounts, quotas, per-domain admin delegation, DANE, and MTA-STS. What it does not list is ActiveSync. If your users expect their phone's native mail app to sync calendar and contacts through an Exchange-style account, that is Mailcow's territory.
Footprint: 6 GB against 1 GB, and why that isn't the whole story
Mailcow's prerequisites page puts the minimum at 6 GiB of RAM plus 1 GiB of swap for the default config, with 8 GiB recommended for 5–10 users and 20 GiB of disk before any mail. We measured a fresh install idling at ~2.2 GB at first boot, before any mail flowed — well under the documented floor, but that floor is upstream's number for real use, and it's the one to budget against.
Mailu's requirements page asks for 1 GB of RAM plus 1 GB of swap without antivirus. There is no measured idle figure for Mailu on this site yet, so the documented floor is the honest number to plan around.
The caveat that makes the comparison fairer: Mailu's 1 GB is the no-antivirus
figure. Turn ClamAV on and Mailu's requirement rises to 3 GB of RAM plus
1 GB of swap. Mailcow ships ClamAV on by default and lets you disable it
(SKIP_CLAMD=y) along with full-text search (SKIP_FTS=y), the two components
its docs single out as memory-hungry. So like-for-like — both with virus
scanning — the gap is 3 GB against 6 GB rather than 1 GB against 6 GB. Mailu is
still the smaller box either way, and it's the one of the two that fits the
cheapest VPS tier.
Setup and administration
Mailcow's install is a clone, a config script, and Compose: clone
mailcow-dockerized into /opt, run ./generate_config.sh (it prompts for the
mail hostname and timezone), then docker compose pull and
docker compose up -d. The admin UI comes up at /admin with a published
default login you change immediately. From there, domains, mailboxes, DKIM keys,
and quarantine all live in the panel, and upgrades go through its own
update.sh script. Our Mailcow deploy guide
walks through all of it, including which ports to open.
Mailu's documented path starts at the setup wizard at setup.mailu.io, which asks
about your domain, webmail, antivirus, and TLS, then generates the
docker-compose.yml and mailu.env you deploy. There is no web signup for the
first admin — you create it from the CLI with
docker compose exec admin flask mailu admin me example.net 'password', or
through the INITIAL_ADMIN_* variables. Enabling an optional feature later means
recreating the compose file through the wizard, per the comments in Mailu's own
env template. Our Mailu deploy guide sidesteps
the wizard with a trimmed, pinned seven-service stack if you'd rather see every
line.
Both rate 4 out of 5 to deploy. Mailcow's difficulty is sizing and operating twenty coupled containers; Mailu's is getting the wizard's choices right, since changing them later means regenerating the files.
Webmail, calendars, and mobile sync
This is where Mailcow earns its footprint. SOGo gives every user webmail, shared calendars, and contacts in the browser, and ActiveSync means phones configure themselves against it with no extra app. For a small office moving off Microsoft 365, that is the closest self-hosted match to what people already use.
Mailu covers webmail well — Roundcube or SnappyMail, ready as soon as an account exists — and can add calendars and contacts through its optional Radicale server, which any CalDAV/CardDAV client can use. What it doesn't offer is ActiveSync, so phones need separate mail and calendar accounts, and there's no groupware web interface for shared calendars in the SOGo sense. For a household or a small team that mostly needs mail and a browser inbox, that's usually enough.
Licensing
Mailcow is GPL-3.0; Mailu is MIT. For running your own mail server, neither license asks anything of you. It only becomes a factor if you plan to modify and redistribute the code as part of a product.
Which to choose
Choose Mailcow if you want the whole groupware suite — SOGo webmail, calendars, contacts, and ActiveSync for native phone sync — behind one polished admin UI, and you can give it the 6 GB of RAM (8 GB for a team) its docs call for. Choose Mailu if you want a web admin panel and webmail on a far smaller box — 1 GB without antivirus, 3 GB with it — and you don't need ActiveSync. Neither wins outright; the question is whether your users need groupware or mostly need email.
Not the only two options
If what attracts you to Mailu is the small footprint, look at Stalwart too: a single Rust binary with its own admin UI, JMAP, and CalDAV/CardDAV built in, at the cost of bringing your own webmail. Our Stalwart vs Mailu comparison covers that trade directly, and Stalwart vs Mailcow sets it against the full suite. If you'd rather drop the admin panel altogether and manage mail from config files in git, docker-mailserver is the leanest option in this category — see Mailcow vs docker-mailserver and Mailu vs docker-mailserver.
Choosing between Mailu and Mailcow
Reversed, the decision is the same trade-off: default to Mailu when a web admin panel and a browser inbox are what you need, because it does that on a sixth of Mailcow's documented RAM. Move up to Mailcow when ActiveSync, SOGo calendars, or Mailcow's built-in quarantine are real requirements rather than nice-to-haves, and size the server for it from day one.
The part neither solves: deliverability
Whichever you pick, the software is the easy half. Both upstreams want a public IP with matching forward and reverse DNS, and you still need a clean sending IP, outbound port 25 unblocked by your provider, and correct MX, SPF, DKIM, and DMARC records before mail reliably lands in inboxes. Both generate DKIM keys for you in the admin panel; publishing them, and building sender reputation, is on you. Budget as much time for that as for the install — it decides whether self-hosted email works far more than the Mailcow-versus-Mailu choice does.
Common questions
Mailcow vs Mailu — which self-hosted mail server should I pick?
Pick Mailcow if you want the full groupware suite — SOGo webmail, calendars, contacts, and ActiveSync — and can spare the 6 GB of RAM its docs call for. Pick Mailu if you want a web admin panel and webmail on a much smaller server and don't need ActiveSync.
Which needs less RAM, Mailcow or Mailu?
Mailu. Its docs ask for 1 GB of RAM plus 1 GB of swap without antivirus, or 3 GB with ClamAV. Mailcow's docs put the minimum at 6 GiB plus 1 GiB of swap, with 8 GiB recommended for 5–10 users; a fresh Mailcow install measures ~2.2 GB idle at first boot.
Does Mailu support ActiveSync or calendars like Mailcow?
Mailu has no ActiveSync. It can add calendars and contacts through its optional Radicale CalDAV/CardDAV server, and bundles Roundcube or SnappyMail webmail. Mailcow gets all three — webmail, CalDAV/CardDAV, and ActiveSync — from SOGo out of the box.
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.
A web-managed suite vs. a config-file container.
One Rust binary vs. the full container suite.