Stalwart vs Maddy: Lightweight Email Servers

Quick Verdict

Stalwart is the better choice for most self-hosters because it includes a web admin interface, supports JMAP (modern email protocol), and has more active development. Maddy wins on resource usage — it’s the lightest email server available — and its single-binary simplicity is hard to beat.

Overview

Both Stalwart and Maddy are modern, all-in-one email servers that replace the traditional Postfix + Dovecot + OpenDKIM stack with a single process. Both are written in memory-safe languages (Stalwart in Rust, Maddy in Go), both support SMTP/IMAP, and both handle DKIM/SPF/DMARC natively.

StalwartMaddy
LanguageRustGo
First release20222019
Latest versionv0.11.8v0.8.2
LicenseAGPL-3.0 (Enterprise tier available)GPL-3.0
GitHub stars~7,000+~5,000+
Docker imagestalwartlabs/mail-serverfoxcpp/maddy

Feature Comparison

FeatureStalwartMaddy
SMTP (send/receive)YesYes
IMAPYesYes
JMAPYesNo
POP3YesNo
Web admin UIYesNo (CLI only)
Built-in webmailNoNo
DKIM signingYesYes
SPF verificationYesYes
DMARC enforcementYesYes
ARC (Authenticated Received Chain)YesNo
MTA-STSYesYes
DANE/TLSAYesYes
Spam filteringSpamAssassin-compatible rules + MLDNSBL + basic heuristics
Sieve filter supportYes (RFC 5228)Partial
Multi-domainYesYes
Virtual usersYesYes
LDAP/Active DirectoryYesPartial
OAuth2/OIDCYesNo
S3 storage backendYesNo
PostgreSQL backendYes (+ MySQL, SQLite)Yes (+ SQLite)
Auto TLS (ACME)YesManual (certbot)
Clustering/HAYes (Enterprise)No

Installation Complexity

Both are single-container Docker deployments, which makes them significantly simpler than mailcow (15+ containers) or Mailu (8+ containers).

Stalwart:

services:
  stalwart:
    image: stalwartlabs/mail-server:v0.11.8
    restart: unless-stopped
    ports:
      - "25:25"
      - "465:465"
      - "587:587"
      - "993:993"
      - "443:443"   # Web admin UI
      - "8080:8080"  # HTTP API / JMAP
    volumes:
      - stalwart_data:/opt/stalwart-mail

Setup is via the web admin UI at port 443. Configuration is done through the browser — no config files to edit manually.

Maddy:

services:
  maddy:
    image: foxcpp/maddy:0.8.2
    restart: unless-stopped
    ports:
      - "25:25"
      - "465:465"
      - "587:587"
      - "993:993"
    volumes:
      - maddy_data:/data
      - ./maddy.conf:/etc/maddy/maddy.conf:ro

Setup requires editing maddy.conf and managing users via maddy creds create CLI commands. No web interface for administration.

Winner: Stalwart. The web admin interface makes initial setup and ongoing management much easier.

Performance and Resource Usage

MetricStalwartMaddy
RAM (idle)~80-128 MB~30-50 MB
RAM (moderate load)~200-300 MB~100-150 MB
CPU (idle)Very lowVery low
Docker image size~100 MB~30 MB
Disk (application)~100 MB~30 MB

Maddy is 2-3x lighter than Stalwart on every metric. For a Raspberry Pi or a VPS with limited RAM, Maddy’s 30 MB idle footprint is remarkable.

Both are dramatically lighter than full-stack solutions:

ServerIdle RAM
mailcow~1.5 GB
Mailu~512 MB
Docker Mailserver~512 MB
Stalwart~100 MB
Maddy~40 MB

Winner: Maddy by a significant margin.

Community and Support

MetricStalwartMaddy
GitHub activityVery active (weekly releases)Moderate (monthly-quarterly)
DocumentationComprehensive (stalw.art/docs)Good (maddy.email)
CommunityGrowing (Discord, GitHub)Smaller (GitHub)
Commercial supportYes (Enterprise tier)No
Release frequencyHigh (every 1-2 weeks)Low (every few months)

Stalwart has significantly more momentum. Its developer (Stalwart Labs) releases updates frequently and is expanding into enterprise features (clustering, S3 storage, OAuth2). Maddy’s development is slower but steady — the project is mature and stable.

Winner: Stalwart. More active development, larger community, commercial backing.

Use Cases

Choose Stalwart If…

  • You want a web admin interface for managing users and settings
  • You need JMAP support (modern email protocol, faster than IMAP for mobile)
  • You want built-in ACME (automatic TLS certificates)
  • You plan to scale to multiple domains with many users
  • You want OAuth2/OIDC integration for single sign-on
  • You need S3-compatible storage for email data
  • Commercial support matters to you

Choose Maddy If…

  • You’re running on a resource-constrained device (Raspberry Pi, 512 MB VPS)
  • You prefer managing everything via config files and CLI
  • You want the absolute simplest email server (single binary, single config file)
  • You value software minimalism — fewer features means fewer things to break
  • You don’t need JMAP, POP3, or a web interface
  • You’re comfortable with Postfix/Dovecot-style configuration

Final Verdict

Stalwart is the better choice for most self-hosters. The web admin interface alone justifies the extra 50-80 MB of RAM. JMAP support future-proofs your setup. Automatic TLS certificate management removes a maintenance task. And the active development pace means bugs get fixed quickly and new features arrive regularly.

Choose Maddy if resource efficiency is your top priority or if you genuinely prefer CLI-only administration. Maddy is a technically elegant server that does email well with minimal overhead — but it requires more manual work for setup and management.

Both are vastly simpler than mailcow or Mailu. If you’re choosing between these two, you’re already on the right track for a lightweight, maintainable email setup.

FAQ

Can either replace a full mail stack like mailcow?

For basic email (SMTP, IMAP, spam filtering, DKIM), yes — both replace the entire Postfix + Dovecot + OpenDKIM stack in a single binary. What they lack compared to mailcow: webmail (SOGo), calendar/contacts (CalDAV/CardDAV), and ActiveSync for mobile. If you only need email and will use a separate client (Thunderbird, Apple Mail, K-9 Mail), both work well.

Does Maddy support JMAP?

No. Maddy supports SMTP and IMAP only. JMAP is a modern email protocol that provides faster synchronization and push notifications — useful for mobile clients. If JMAP support is important, choose Stalwart.

Can I run both on a Raspberry Pi?

Both are lightweight enough for a Raspberry Pi 4. Maddy’s 30-50 MB RAM footprint is remarkable — it leaves almost all RAM available for other services. Stalwart at 80-128 MB is still very light. For comparison, mailcow needs 4+ GB and does not support ARM at all.

Which has better spam filtering?

Stalwart has more advanced spam filtering — it supports SpamAssassin-compatible rules, DNS blocklists, and has experimental machine learning features. Maddy relies on DNSBL (DNS-based blocklists) and basic header/body heuristics. For heavy email traffic with sophisticated spam, Stalwart provides better protection. For light personal email, both are adequate.

Is Maddy still actively maintained?

Yes, but development is slower than Stalwart. Maddy releases updates every few months (v0.8.2 is the latest stable). The project is mature and stable — slower releases reflect stability rather than abandonment. Stalwart releases every 1-2 weeks with new features and fixes. If active development is important to you, Stalwart has significantly more momentum.

Can I use external storage with Stalwart?

Yes. Stalwart supports S3-compatible object storage for email data, PostgreSQL or MySQL for metadata, and local filesystem storage. This makes it suitable for larger deployments where you want to separate compute from storage. Maddy uses local filesystem storage only (SQLite or PostgreSQL for metadata).

Comments