Skip to content
Bulwark

An open-source webmail suite for Stalwart Mail Server

License: AGPL v3 Website Discord


What is Bulwark?

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, along with a web-based setup wizard, OAuth2 / OIDC SSO, and an admin dashboard.

Apps

  • 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

Features

  • Setup wizard — First-launch web UI for JMAP, OAuth, branding, and admin credentials, with no .env.local editing
  • 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 — 24 languages, including right-to-left for Arabic, Hebrew, and Persian
  • PWA — Installable on desktop and mobile, with dark and light themes that remap HTML email colors by luminance
  • Real-time — Push notifications via JMAP EventSource

Repositories

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
plugins Example plugins and templates for the plugin API
themes Theme bundles for the webmail
homeassistant-jmap JMAP mail integration for Home Assistant
wordpress-jmap WordPress plugin routing wp_mail() over JMAP
website Website and documentation
branding Logos and brand assets
dashboard Internal observability stack for the org

Tech stack

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

Getting started

docker run -d -p 3000:3000 ghcr.io/bulwarkmail/webmail:latest

Open http://localhost:3000 and the setup wizard handles the rest. Full instructions live in the documentation and the installation guide.

Contributing

Bug reports, feature requests, translations, and code are all welcome. See CONTRIBUTING.md to get started, or come say hi on Discord.

License

Bulwark Webmail is released under the GNU AGPL v3. The fork lineage's original MIT attribution is preserved in NOTICE.

Popular repositories Loading

  1. webmail webmail Public

    Self-hosted JMAP webmail for Stalwart Mail Server. Mail, calendar, contacts, and files in one client.

    TypeScript 871 125

  2. native native Public

    TypeScript 48 6

  3. relay relay Public

    TypeScript 15 4

  4. legacy-proxy legacy-proxy Public

    TypeScript 13 3

  5. plugins plugins Public

    JavaScript 5 5

  6. branding branding Public

    2

Repositories

Showing 10 of 12 repositories

Sponsors

  • @Beckid
  • @fpauser
  • @schnz
  • @BryanBerger98
  • @proxforge
  • @spss20
  • @elgringoYan
  • @pauladams8
  • @djpriest
  • @umakers
  • @zplizzi
  • @jeremiah
  • @Theoretisch1337

Top languages

Loading…

Most used topics

Loading…