Documentation

Three steps take you from nothing to a working inbox in about five minutes. The rest of the manual is reference: configuration, features, deployment and the extension API.This is the Bulwark Lite manual. Three steps put the client on a web host, and pages that only apply to the full edition are hidden.

Start here

  1. 1
    Run the container. Docker is the only requirement. There is nothing to clone and no .env file to write first.
    docker run -d -p 3000:3000 --name bulwark \
      -v bulwark-config:/app/data/admin \
      -v bulwark-state:/app/data/admin-state \
      ghcr.io/bulwarkmail/webmail:latest
  2. 2
    Open localhost:3000. The setup wizard finds your JMAP server, chooses OAuth or password sign-in, generates a session secret and sets the admin password. The configuration and authentication pages cover each screen.
  3. 3
    Point it at Stalwart. Stalwart is the mail server. The Stalwart setup page covers installing it first.
  1. 1
    Download the zip. Every release attaches bulwark-lite-<version>.zip: a folder of HTML, JavaScript and one JSON file.
  2. 2
    Edit config.json. Set jmapServerUrl to your Stalwart server, and appName if you like. The file is read at runtime, so later edits need no rebuild.
  3. 3
    Upload it and allow CORS. Put the folder on any static host and set http.permissive-cors = true in Stalwart. Host snippets for nginx, Caddy, Netlify, Cloudflare Pages and GitHub Pages are on the static hosting page.

Choose how to install

Browse the manual