You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stalwart is an all-in-one mail and collaboration server in Rust: SMTP, IMAP, POP3, JMAP, CalDAV, CardDAV and WebDAV plus spam filtering and DKIM/SPF/DMARC, from a single binary with an embedded RocksDB store — no external database for a default install.
Self-bootstrapping: the binary creates config.json on first start and prints a temporary admin password to the journal — same behaviour the upstream Docker image relies on with an empty /etc/stalwart volume. Admin UI at :8080/admin.
Persistence:/opt/stalwart_data/{etc,data,logs}, plus stalwart.env for STALWART_HOSTNAME / STALWART_PUBLIC_URL.
v0.16 note: configuration is no longer TOML — only a small config.json describing the datastore lives on disk, everything else is a JMAP object in the DB, managed through the web UI or stalwart-cli.
On first start Stalwart runs in bootstrap mode and generates a temporary admin password. Read it with: journalctl -u stalwart | grep -A8 'bootstrap mode'. Then finish setup at http://:8080/admin.
Running a mail server that is reachable from the internet needs correct DNS (MX, SPF, DKIM, DMARC, rDNS/PTR) and a valid TLS certificate. Set STALWART_HOSTNAME and STALWART_PUBLIC_URL in /opt/stalwart_data/etc/stalwart.env, then restart the service.
Configuration and mail data live in /opt/stalwart_data (etc, data, logs), outside the app directory, so they survive updates. Include this directory in your backups.
The default datastore is embedded RocksDB - no external database needed. PostgreSQL, MySQL, SQLite, S3, Redis and NATS backends can be configured later through the admin UI.
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Activity
github-actions commentedon Aug 3, 2026
The Stalwart script is ready for testing:
Default credentials:
Username: admin
On first start Stalwart runs in bootstrap mode and generates a temporary admin password. Read it with: journalctl -u stalwart | grep -A8 'bootstrap mode'. Then finish setup at http://:8080/admin.
Running a mail server that is reachable from the internet needs correct DNS (MX, SPF, DKIM, DMARC, rDNS/PTR) and a valid TLS certificate. Set STALWART_HOSTNAME and STALWART_PUBLIC_URL in /opt/stalwart_data/etc/stalwart.env, then restart the service.
Configuration and mail data live in /opt/stalwart_data (etc, data, logs), outside the app directory, so they survive updates. Include this directory in your backups.
The default datastore is embedded RocksDB - no external database needed. PostgreSQL, MySQL, SQLite, S3, Redis and NATS backends can be configured later through the admin UI.
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Discord testing thread: https://discord.com/channels/1302816934508630047/1533831141277044898
github-actions commentedon Aug 10, 2026
A PR has been created for stalwart: community-scripts/ProxmoxVE#16388
michelroegl-brunner commentedon Aug 12, 2026
Merged with #16388 in ProxmoxVE
github-actions commentedon Aug 12, 2026
Files deleted with PR #2171