Skip to content

Bulwark: webmail for Stalwart Mail Server. Mail, calendar, contacts and files in one browser client.

website: bulwarkmail.org  latest release  license: AGPL v3  Discord members online

Bulwark is a self-hosted, open-source webmail client for Stalwart Mail Server. It speaks JMAP natively and puts mail, calendar, contacts and files behind one login, one settings store and one admin console.

Run it

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

Open http://localhost:3000 and the setup wizard connects to your Stalwart server and sets the admin password. A standalone Linux tarball is attached to every release, and the installation guide covers both.

What it does

  • Mail with threads, a unified inbox, full-text search, Sieve filters, S/MIME and templates.
  • Calendar with month, week, day and agenda views, drag to reschedule, and iMIP invitations.
  • Contacts in several address books, with groups, vCard import and export, and autocomplete in the composer.
  • Files on the mail server through JMAP FileNode, with office documents editable over WOPI.
  • Several accounts signed in at once, with password and TOTP, or OAuth and OIDC single sign-on.
  • An admin console for branding, users, settings policy, plugins, themes and the audit log.
  • Plugins and themes from the directory at extensions.bulwarkmail.org.
  • 27 languages, including right-to-left Arabic, Hebrew and Persian.
  • A PWA that installs on desktop and mobile, with web push and new mail arriving in real time.

Repositories

Repository What it is
webmail The Bulwark web client
native Android and iOS app, in beta
relay Push relay for the app and the PWA: FCM, Web Push and UnifiedPush
legacy-proxy A JMAP server in front of an existing IMAP, SMTP, ManageSieve and CardDAV stack, pre-1.0
plugins First-party plugins and templates for the plugin API
themes Theme bundles for the web client
extensions-directory The plugin and theme directory behind extensions.bulwarkmail.org
homeassistant-jmap JMAP mail integration for Home Assistant
wordpress-jmap WordPress plugin that sends wp_mail() over JMAP
website bulwarkmail.org and the documentation
branding Logos, design tokens and the brand guidelines
dashboard The project's own telemetry and observability stack

Get involved

Bug reports, feature ideas, translations and code are all welcome. CONTRIBUTING.md explains how to start, and Discord is where the project talks. Report security issues privately as described in SECURITY.md.

License

Bulwark is released under the GNU AGPL v3. The original MIT attribution from the project it was forked from is kept 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 1.2k 188

  2. native native Public

    TypeScript 80 11

  3. legacy-proxy legacy-proxy Public

    TypeScript 23 9

  4. relay relay Public

    TypeScript 19 8

  5. plugins plugins Public

    JavaScript 9 8

  6. homeassistant-jmap homeassistant-jmap Public

    Python 3

Repositories

Showing 10 of 13 repositories
  • .github Public
    bulwarkmail/.github's past year of commit activity
    JavaScript 2 AGPL-3.0 0 0 0 Updated Sep 19, 2026
  • website Public
    bulwarkmail/website's past year of commit activity
    TypeScript 2 AGPL-3.0 2 0 0 Updated Sep 19, 2026
  • webmail Public

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

    bulwarkmail/webmail's past year of commit activity
    TypeScript 1,181 188 137 40 Updated Sep 19, 2026
  • branding Public
    bulwarkmail/branding's past year of commit activity
    CSS 2 AGPL-3.0 0 0 0 Updated Sep 19, 2026
  • bulwarkmail/extensions-directory's past year of commit activity
    TypeScript 0 0 0 0 Updated Sep 19, 2026
  • legacy-proxy Public
    bulwarkmail/legacy-proxy's past year of commit activity
    TypeScript 23 AGPL-3.0 9 2 1 Updated Sep 14, 2026
  • native Public
    bulwarkmail/native's past year of commit activity
    TypeScript 80 AGPL-3.0 11 11 3 Updated Sep 9, 2026
  • relay Public
    bulwarkmail/relay's past year of commit activity
    TypeScript 19 AGPL-3.0 8 1 0 Updated Aug 30, 2026
  • plugins Public
    bulwarkmail/plugins's past year of commit activity
    JavaScript 9 AGPL-3.0 8 8 2 Updated Jul 25, 2026
  • bulwarkmail/wordpress-jmap's past year of commit activity
    PHP 2 AGPL-3.0 1 0 0 Updated Jul 25, 2026

Sponsors

  • @jsaathof
  • @berkersal
  • @windsource
  • @NABarnes
  • @felixzieger
  • @zeddD1abl0
  • @fpauser
  • @proxforge
  • @spss20
  • @elgringoYan
  • @pauladams8
  • @djpriest
  • @umakers

Top languages

Loading…

Most used topics