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
- 1Run the container. Docker is the only requirement. There is nothing to clone and no
.envfile 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 - 2Open
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. - 3Point it at Stalwart. Stalwart is the mail server: 0.16.6 or newer, or 1.0 from Bulwark 1.18.0 on. The Stalwart setup page covers installing it first.
- 1Download the zip. Every release attaches
bulwark-lite-<version>.zip: a folder of HTML, JavaScript and one JSON file. - 2Edit
config.json. SetjmapServerUrlto your Stalwart server, andappNameif you like. Stalwart 0.16.6 or newer works, and 1.0 from Lite 1.18.0 on. The file is read at runtime, so later edits need no rebuild. - 3Upload it and allow CORS. Put the folder on any static host and turn on the Permissive CORS policy in Stalwart, under Settings > Network > HTTP > Security. Host snippets for nginx, Caddy, Netlify, Cloudflare Pages and GitHub Pages are on the static hosting page.
Choose how to install
DockerOne container and a setup wizard. The route for most installs.Bulwark LiteThe same client as static files, uploaded to any web host.Manual installA standalone tarball or your own build, run under systemd or PM2.