Documentation

The manual.

The three steps below take you from nothing to a working inbox in about five minutes. Everything after them is reference: configuration, features, deployment, and the extension API.

Start here.

  1. Run this command

    Docker is the only thing you need beforehand. There's nothing to clone and no .env file to write first. Paste it, press enter, and give it a few seconds to pull.

    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. Open localhost:3000

    From here the setup wizard takes over. It probes your JMAP server and works out whether to use OAuth or basic auth, generates a session secret, takes your logos if you have any, and finishes by setting the admin password. You won't need to edit a config file afterwards.

    Stuck on the wizard? See configuration or authentication.

  3. Point it at a mail server

    Bulwark is the front; Stalwart is the server. If you don't have one yet, install Stalwart first and come back. The wizard handles the wiring.

Or pick a path.

Browse the full manual.