Local email testing
Mailpit is an opt-in development-only SMTP inbox. It is not included in the default self-hosted stack, which bootstraps the first administrator without email verification and leaves email alerts disabled.
Start Firewatch with the local email override:
docker compose -f docker-compose.yml -f docker-compose.mailpit.yml up -d --buildThe override enables email verification and starts Mailpit. Omit it when testing the normal self-hosted first-run experience.
Open Firewatch at http://localhost:3000 and Mailpit at
http://localhost:8025. Mailpit captures messages sent through its SMTP port;
it does not deliver them to the public internet.
The override enables email in both the API and worker and connects them to
mailpit:1025 without authentication or TLS. The worker sends incident alerts;
the API sends account and invitation mail. Port 1025 is also bound to loopback
so a process launched directly on the host can use localhost:1025. It also permits the Vite
development origin at http://localhost:5173 for passkey ceremonies while the
canonical Docker web origin remains http://localhost:3000.
To stop only the development inbox:
docker compose -f docker-compose.yml -f docker-compose.mailpit.yml stop mailpitDo not rely on Mailpit in production. Configure the standard Email__* settings
against an authenticated, TLS-enabled SMTP service instead.