Skip to content

Documentation

Welcome to the BulletinMail docs. They’re organized by the Diataxis framework. Use the sidebar to navigate, or the search box (⌘K) for a specific term.

If you want to run BulletinMail under your own brand, the Self-hosting guide is the place to begin.

Tutorials

Learn by doing.

No tutorials yet — start with the Self-hosting how-to instead.

How-to guides

Recipes for specific tasks.

  • Self-host your own instance — Deploy BulletinMail to your own Cloudflare account in ~90 minutes.
  • Install BulletinMail with an LLM — Hand this guide to ChatGPT, Claude, or another shell-capable LLM agent. Given a Cloudflare account and a domain, the agent can bring up a single-tenant BulletinMail deployment end-to-end.
  • Day-2 operations — Routine ops, incident triage, capacity, decommissioning a tenant.
  • Browse the list archive — Read past list traffic on the web — threads, messages, attachments — and post replies from the browser.
  • Enable AI features — Turn on promote-to-wiki, red-link page generation, and wiki hero images — each behind its own feature flag, off by default.

Reference

Exhaustive material.

Explanation

The why behind the design.

  • Architecture overview — The pipeline in one paragraph + hot paths for new contributors.
  • HTTP routing — One Worker handles every request to the apex + every subdomain (the relaytty.com playbook).
  • Domain strategy — Why each tenant gets its own DNS subdomain — and the Cloudflare workaround forced on the From header.
  • Distribution model — AGPL-3.0 choice, three-layer separation, what lives where.