Skip to content

MXroute Manager documentation

Welcome to the manual. The main README is the billboard; this folder is the tour where we explain which button does what, which env var wakes up Cloudflare, and how to blacklist Karen from HR without opening the UI.

Everything here is Markdown in the repository so docs ship in the same pull request as the code they describe.

Browse online: t0msh.github.io/mxroute-manager (published from main via MkDocs Material + GitHub Pages).

Build locally:

pip install -r requirements-dev.txt
mkdocs serve

Open http://127.0.0.1:8000 for live reload while editing.

Setup

Guide Description
Getting started First deploy: clone, .env, Docker or deploy.sh, login, production checklist
Configuration All environment variables and how they map to the UI
Settings walkthrough Every field on the Settings tab, explained
Local admin password How admin credentials are seeded and how to reset them
Reverse proxy TLS, reverse proxy backends, branded reset portals

Features

Guide Description
Adding a domain Domain wizard: verification, MXroute registration, Cloudflare mail DNS
DNS health checks What each DNS check means, SPF/DMARC rules, per-domain DMARC
Bulk mailbox CSV Import and export mailboxes in spreadsheet-friendly batches
Fleet overview Dashboard table of all domains, cached health and counts
Access control Delegated users, API tokens, permissions, admin vs delegated operations
HTTP API Bearer tokens, curl recipes, route overview
API example scripts PowerShell and Bash: deploy mailbox, blacklist sender
Mailbox password reset Login-page reset and branded per-domain portals
Notifications Audit event alerts, DNS health monitoring, quota alerts, Apprise targets
Audit logs Browse, filter, download CSV/JSONL

UI reference

Guide Description
App tour Screenshots of every main tab, modals, and reset portal
Themes All 12 workspace themes on the login screen

Development and meta

Guide Description
Contributing How we code, PR expectations, and quality standards
Testing Test layers, fixtures, and how to add coverage
Frontend app scripts Split static/js/app/ files and script load order

Typical paths

Minimum viable install - Getting started steps 1-3, then manage mailboxes in the UI.

Production - Complete getting started through step 5, then Reverse proxy.

Delegated team access - Production setup, then Access control.

Automation / scripting - HTTP API and example scripts.

Mailbox self-service reset - Password reset (login page only, or branded portals with Cloudflare + a reverse proxy backend).

"What does this Settings toggle do?" - Settings walkthrough.

Feature overview with more personality: main README.

Guide Topic
Getting started First deploy from clone to login
Configuration All environment variables
Settings walkthrough Settings tab field by field
HTTP API Scripting with API tokens
API examples PowerShell and Bash scripts
Local admin password Break-glass admin credentials
Access control Delegated users, API tokens, permissions
Audit logs Download and filter audit trail
Fleet overview Multi-domain dashboard table
Password reset Mailbox self-service reset
App tour UI screenshots and modals
Themes Login screen theme gallery
Reverse proxy TLS and reverse proxy backends
Testing Test suite layout and how to run it
Frontend app scripts Split static/js/app/ files and script load order
Main README Project overview, features, quickstart