ABOUT
Stalwart is an all-in-one mail and collaboration server written in Rust. A single binary provides SMTP, IMAP, POP3, JMAP, CalDAV, CardDAV and WebDAV plus spam filtering, DKIM/SPF/DMARC and a web admin interface, with no external database required for a default install.
warningOn 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://<IP>:8080/admin.
warningRunning 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.
infoConfiguration 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.
infoThe 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.
INSTALL
Approved local installer
DefaultDebian 13
Approved locally2 CPU4096 MB RAM20 GB disk
Config path/opt/stalwart_data/etc/config.json
Run this command in the Proxmox VE shell. It downloads the immutable approved file, verifies SHA-256, and only then executes it.
( url='https://scripts.francoisvw.com/snapshots/c19711ea1b2526bec67e34be948114e255b5a811/ct/stalwart.sh'; sha='bc7377b4a0558136f5c65f4e1d480b34026a9ef401b3d5b5785da328ca366260'; tmp="$(mktemp)" || exit; curl -fsSL "$url" -o "$tmp" && printf '%s %s\n' "$sha" "$tmp" | sha256sum -c - && bash "$tmp"; rc=$?; rm -f "$tmp"; exit "$rc" )
View approved source ↗Path ct/stalwart.shSHA-256 bc7377b4a0558136f5c65f4e1d480b34026a9ef401b3d5b5785da328ca366260 LOCAL CHANGE REVIEW
Approved vs latest fetched source
Sign in with a passkey to inspect pending source changes. Approved content remains public.