Bulwark is a self-hosted webmail suite that speaks JMAP (RFC 8620) natively and pairs with Stalwart Mail Server. It bundles mail, calendar, contacts, and files behind a single login — the four apps most self-hosters end up wanting together — with a web-based setup wizard, OAuth2 / OIDC SSO, and an admin dashboard.
- Mail — Threaded conversations, unified inbox, full-text search, Sieve filters, S/MIME, templates, multiple identities
- Calendar — Month, week, day, and agenda views with drag-to-reschedule, recurring events, iMIP invitations, and CalDAV subscriptions
- Contacts — Multiple address books, groups, vCard import/export, and composer autocomplete
- Files — Stalwart's JMAP FileNode storage with previews and folder upload
- Setup wizard — First-launch web UI for JMAP, OAuth, branding, and admin credentials — no
.env.localediting - Admin dashboard — Manage policy, users, plugins, themes, and audit logs from the browser
- SSO — OAuth2 / OIDC with PKCE and discovery, plus TOTP two-factor authentication
- Multi-account — HTTP/2 connection pooling across simultaneous JMAP sessions
- Plugins & themes — Bundled extensions plus a marketplace at extensions.bulwarkmail.org
- Internationalization — 15 languages
- PWA — Installable on desktop and mobile, with dark/light themes and intelligent HTML email color transformation
- Real-time — Push notifications via JMAP EventSource
| Repository | Description |
|---|---|
| webmail | The Bulwark webmail application |
| native | Native desktop and mobile apps |
| legacy-proxy | IMAP/SMTP bridge for legacy mail clients |
| relay | Push notification relay for mobile clients |
| website | Official website and documentation |
| branding | Logos and brand assets |
| Technology | Purpose |
|---|---|
| Next.js 16 | React framework (App Router) |
| TypeScript | Type safety |
| Tailwind CSS v4 | Styling |
| Zustand | State management |
| JMAP (RFC 8620) | Mail protocol |
| next-intl | Internationalization |
| Stalwart | Mail server |
docker run -d -p 3000:3000 ghcr.io/bulwarkmail/webmail:latestOpen http://localhost:3000 and the setup wizard handles the rest. Full instructions live in the documentation and the installation guide.
Bug reports, feature requests, translations, and code are all welcome. See CONTRIBUTING.md to get started, or come say hi on Discord.
Bulwark Webmail is released under the GNU AGPL v3. The fork lineage's original MIT attribution is preserved in NOTICE.