Mailcow vs Stalwart: Full Suite or Lean Server?

Different Answers to the Same Question

Self-hosting email is one of the hardest things in the self-hosting world. Both Mailcow and Stalwart make it easier, but they solve different problems.

Mailcow is a complete email ecosystem: Postfix (SMTP), Dovecot (IMAP), Rspamd (spam filtering), ClamAV (antivirus), SOGo (webmail + calendar + contacts), Redis, MariaDB, and a polished admin web UI. It’s 10+ containers working in concert.

Stalwart is a single Rust binary that handles SMTP, IMAP, POP3, and JMAP — plus CalDAV and CardDAV. No external database needed (embedded RocksDB). No webmail included. Minimal resource footprint.

The question isn’t which is “better.” It’s whether you want a turnkey email platform or a lean mail server you’ll pair with your own webmail client.

Feature Comparison

FeatureMailcowStalwart v0.15.5
ArchitectureMulti-container (Docker Compose)Single binary
LanguageMixed (C, Lua, PHP, Go)Rust
SMTPPostfixBuilt-in
IMAPDovecotBuilt-in
POP3DovecotBuilt-in
JMAPNot supportedBuilt-in
Spam filteringRspamd (ML + rules)Built-in (Sieve filters)
AntivirusClamAVNot built-in
WebmailSOGoNone (use Roundcube, Thunderbird, etc.)
Calendar/ContactsSOGo (CalDAV/CardDAV)Built-in CalDAV/CardDAV
Admin UIFull web admin panelWeb admin panel
DatabaseMariaDB + RedisEmbedded RocksDB (or external SQL)
Multi-domainYesYes
DKIM/SPF/DMARCFull support + auto-configFull support
Encryption at restGPG per-mailbox (optional)Built-in
RAM requirement6-8 GB recommended1 GB minimum
Disk for app~2-5 GB (containers + DB)~100-200 MB
LicenseGPL-3.0AGPL-3.0 (free tier)

Resource Requirements

This is the starkest difference between the two.

ResourceMailcowStalwart
RAM (idle)3-4 GB200-400 MB
RAM (active)5-8 GB500 MB-1 GB
CPUModerate (ClamAV scans are heavy)Low
Disk (application)2-5 GB100-200 MB
Containers10-151
Minimum viable VPS4 GB RAM / 2 vCPU1 GB RAM / 1 vCPU
Estimated monthly VPS cost$12-24/month$4-6/month

Mailcow’s ClamAV alone uses 1-2 GB of RAM. If you’re running email alongside other services on a small VPS, Stalwart leaves far more room.

Setup Complexity

Mailcow uses its own installer script:

cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh
# Answer prompts: hostname, timezone
docker compose pull
docker compose up -d

The installer generates a complete docker-compose.yml and .env file. The web admin panel handles domain setup, DKIM key generation, and mailbox creation. DNS records (MX, SPF, DKIM, DMARC) are displayed in the admin UI — you copy them to your DNS provider.

Stalwart is a single container:

services:
  stalwart:
    image: stalwartlabs/stalwart:v0.15.5
    restart: unless-stopped
    ports:
      - "25:25"      # SMTP
      - "465:465"    # SMTP/TLS
      - "587:587"    # Submission
      - "993:993"    # IMAPS
      - "443:443"    # HTTPS (admin + JMAP)
      - "8080:8080"  # HTTP admin
    volumes:
      - stalwart-data:/opt/stalwart

volumes:
  stalwart-data:

First-time setup happens through the web admin at port 8080. Domain configuration, DKIM keys, and user management are all there. But there’s no webmail — you’ll need Roundcube, Thunderbird, or another IMAP client.

Spam Filtering

Mailcow’s Rspamd is a mature, ML-powered spam filter. It combines rule-based detection with Bayesian learning, DNSBL lookups, greylisting, and neural network classification. Users can train it by moving messages to spam/ham folders. It handles ~95-99% of spam out of the box with zero configuration.

Stalwart’s spam filtering uses Sieve scripts. It supports DNSBL, SPF/DKIM/DMARC verification, and basic content filtering. It’s effective for small-volume mail servers but lacks Rspamd’s ML capabilities. For high-volume servers or environments with sophisticated spam, you’d want to add Rspamd or SpamAssassin in front of Stalwart.

For a personal or small-team mail server (under 50 users), Stalwart’s filtering is sufficient. For larger deployments or organizations that receive significant spam, Mailcow’s Rspamd is meaningfully better.

Webmail and Client Access

Mailcow includes SOGo — a full groupware suite with webmail, calendar, contacts, and shared folders. Users log in through a browser and have a complete email experience without installing anything.

Stalwart ships no webmail. Users need an email client (Thunderbird, Apple Mail, Outlook, K-9 Mail) or you deploy a separate webmail container like Roundcube. This is either a disadvantage (extra setup) or an advantage (choose your preferred client, save resources).

Stalwart does include CalDAV/CardDAV, so calendar and contacts sync works natively — you just need a compatible client.

Upgrade Path

Mailcow upgrades via ./update.sh:

cd /opt/mailcow-dockerized
./update.sh

The script handles container pulls, database migrations, and configuration updates. It’s well-tested across versions.

Stalwart upgrades by pulling the new image:

docker compose pull
docker compose up -d

Stalwart handles database migrations automatically on startup. Simpler process, fewer moving parts.

FAQ

Can Stalwart replace Mailcow completely?

For mail delivery (SMTP/IMAP), yes. For the full groupware experience (webmail, shared calendars, spam ML), you’d need to add Roundcube and potentially Rspamd — at which point you’re rebuilding parts of Mailcow.

Does Mailcow support JMAP?

No. Mailcow uses Dovecot for IMAP. Stalwart is one of the few self-hosted mail servers with JMAP support, which is useful if your clients support it (e.g., Mimestream on macOS).

Which is better for deliverability?

Equal, assuming proper DNS setup (SPF, DKIM, DMARC, rDNS). Deliverability depends on your IP reputation and DNS records, not which server software you run.

Can I run Stalwart alongside other services?

Easily. At 200-400 MB idle RAM, Stalwart coexists with Nextcloud, Jellyfin, or whatever else you’re running. Mailcow’s 4-6 GB footprint often requires a dedicated VPS.

Which handles more users?

Mailcow scales better for organizations (50+ users) thanks to Rspamd, ClamAV, and SOGo’s shared features. Stalwart is designed for efficiency but lacks the enterprise groupware features.

Final Verdict

Choose Stalwart if you want a lightweight mail server that leaves resources for other services, you’re comfortable using Thunderbird or another desktop client, and you serve fewer than 50 mailboxes. The resource savings alone make it the right choice for most homelab setups.

Choose Mailcow if you need a complete email platform with webmail, shared calendars, advanced spam filtering, and antivirus scanning — especially for small organizations or families who expect a Gmail-like experience in the browser.

Both deliver email reliably. The choice is about scope: do you want a mail server or a mail platform?

Comments