The KamalCloud app is down for maintenance. Sign-ups and sign-ins are paused.App down for maintenance. Sign-ups paused. Details
Template
A mail and collaboration server: SMTP, IMAP, POP3, JMAP, ManageSieve, CalDAV and CardDAV in one binary. It is the template with the most setup after install, because mail involves DNS, certificates and ports the proxy does not handle.
Every deploy is a short mail outage: two containers cannot hold the same port, so the old one stops first. Sending servers retry, so inbound mail is delayed rather than lost.
A server of its own if you can. Two environments on one machine cannot both hold port 25.
Control of the mail domain's DNS. KamalCloud never writes DNS records.
A plan for outbound port 25, which Hetzner, DigitalOcean and AWS block on new accounts.
Receiving works. Sending needs outbound port 25, which all three block on new accounts, so ask the provider to lift it or send through a relay.
kamal-proxy holds the certificate for the web admin and JMAP. The mail ports need their own: set up ACME with a DNS-01 challenge in Stalwart, or upload a certificate you obtained elsewhere, remembering that nothing renews it.
No. Stalwart shows the records it wants in its admin UI, and you publish them at your DNS provider. Set reverse DNS for the server's IP at the cloud provider as well.
Configuration lives in the etc volume and mailboxes in data. The data volume stops the container while it is archived, because RocksDB writes continuously. Back up both together: a mail store restored without its configuration is not much use.
Connect a server of its own, install Stalwart, and deploy when the hostname points at it.
Sign-ups are paused while the app is in maintenance.