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. 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. 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 set
http.permissive-cors = truein Stalwart. 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.