Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:
ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcblxuIyBTaGFyZWQgTWFpbHUgY29uZmlndXJhdGlvbiAoZXF1aXZhbGVudCB0byB0aGUgdXBzdHJlYW0gbWFpbHUuZW52IGZpbGUpXG54LW1haWx1LWVudjogJm1haWx1LWVudlxuICAtIFNFQ1JFVF9LRVk9JHtTRUNSRVRfS0VZfVxuICAtIERPTUFJTj0ke0RPTUFJTn1cbiAgLSBIT1NUTkFNRVM9JHtET01BSU59XG4gIC0gUE9TVE1BU1RFUj1hZG1pblxuICAjIFRMUyBmb3IgdGhlIG1haWwgcHJvdG9jb2xzIGlzIG9idGFpbmVkIHRocm91Z2ggTGV0J3MgRW5jcnlwdCAoSFRUUC0wMVxuICAjIHRocm91Z2ggVHJhZWZpayBvbiBwb3J0IDgwKS4gVGhlIHdlYiBVSSBpdHNlbGYgaXMgc2VydmVkIHBsYWluIEhUVFAgdG9cbiAgIyBUcmFlZmlrLCB3aGljaCB0ZXJtaW5hdGVzIEhUVFBTLlxuICAtIFRMU19GTEFWT1I9bWFpbC1sZXRzZW5jcnlwdFxuICAjIE1haWx1IGdyYW50cyByZWxheS9YQ0xJRU5UIHRydXN0IHRvIHRoaXMgbmV0d29yayByYW5nZS4gSXQgbXVzdCBjb3ZlciB0aGVcbiAgIyBEb2NrZXIgbmV0d29ya3Mgb2YgdGhpcyBwcm9qZWN0IChEb2NrZXIgYWxsb2NhdGVzIHRoZW0gZnJvbSAxNzIuMTYuMC4wLzEyXG4gICMgYnkgZGVmYXVsdCkuIE5hcnJvdyBpdCBkb3duIGlmIHlvdSBrbm93IHlvdXIgZXhhY3Qgc3VibmV0LlxuICAtIFNVQk5FVD0ke1NVQk5FVH1cbiAgLSBBRE1JTj10cnVlXG4gIC0gV0VCTUFJTD1yb3VuZGN1YmVcbiAgLSBBUEk9ZmFsc2VcbiAgLSBXRUJEQVY9bm9uZVxuICAtIEFOVElWSVJVUz1ub25lXG4gIC0gU0NBTl9NQUNST1M9ZmFsc2VcbiAgIyBQb3J0cyBlbmFibGVkIGluc2lkZSB0aGUgZnJvbnQgY29udGFpbmVyLiA0MTkwIChzaWV2ZSkgc3RheXMgaW50ZXJuYWwgZm9yXG4gICMgdGhlIHdlYm1haWwgZmlsdGVycyBVSSBhbmQgaXMgbm90IHB1Ymxpc2hlZCBvbiB0aGUgaG9zdC5cbiAgLSBQT1JUUz0yNSw4MCw0NDMsNDY1LDU4Nyw5OTMsNDE5MFxuICAtIE1FU1NBR0VfU0laRV9MSU1JVD01MDAwMDAwMFxuICAtIEZVTExfVEVYVF9TRUFSQ0g9ZW5cbiAgLSBXRUJST09UX1JFRElSRUNUPS93ZWJtYWlsXG4gIC0gV0VCX0FETUlOPS9hZG1pblxuICAtIFdFQl9XRUJNQUlMPS93ZWJtYWlsXG4gIC0gU0lURU5BTUU9TWFpbHVcbiAgLSBXRUJTSVRFPWh0dHBzOi8vbWFpbHUuaW9cbiAgIyBUcnVzdCBUcmFlZmlrIChkb2twbG95LW5ldHdvcmspIHRvIGZvcndhcmQgdGhlIHJlYWwgY2xpZW50IElQIGZvciByYXRlIGxpbWl0aW5nXG4gIC0gUkVBTF9JUF9GUk9NPSR7U1VCTkVUfVxuICAtIFJFQUxfSVBfSEVBREVSPVgtRm9yd2FyZGVkLUZvclxuICAjIEluaXRpYWwgYWRtaW4gYWNjb3VudDogYWRtaW5AJHtET01BSU59IChjcmVhdGVkIG9ubHkgaWYgaXQgZG9lcyBub3QgZXhpc3QpXG4gIC0gSU5JVElBTF9BRE1JTl9BQ0NPVU5UPSR7SU5JVElBTF9BRE1JTl9BQ0NPVU5UfVxuICAtIElOSVRJQUxfQURNSU5fRE9NQUlOPSR7RE9NQUlOfVxuICAtIElOSVRJQUxfQURNSU5fUFc9JHtJTklUSUFMX0FETUlOX1BXfVxuICAtIElOSVRJQUxfQURNSU5fTU9ERT1pZm1pc3NpbmdcblxuIyBQdWJsaWMgRE5TU0VDLXZhbGlkYXRpbmcgcmVzb2x2ZXJzLiBUaGUgYWRtaW4gY29udGFpbmVyIHJlZnVzZXMgdG8gc3RhcnRcbiMgd2l0aG91dCBETlNTRUMgdmFsaWRhdGlvbiwgYW5kIFBvc3RmaXggbmVlZHMgaXQgZm9yIG91dGJvdW5kIERBTkUuIFNlcnZpY2VcbiMgZGlzY292ZXJ5IHN0aWxsIHVzZXMgRG9ja2VyJ3MgZW1iZWRkZWQgRE5TOyB0aGVzZSBhcmUgb25seSB1cHN0cmVhbXMuXG54LW1haWx1LWRuczogJm1haWx1LWRuc1xuICAtIFwiMS4xLjEuMVwiXG4gIC0gXCI4LjguOC44XCJcblxuc2VydmljZXM6XG4gIGZyb250OlxuICAgIGltYWdlOiBnaGNyLmlvL21haWx1L25naW54OjIwMjQuMDZcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGVudmlyb25tZW50OiAqbWFpbHUtZW52XG4gICAgZG5zOiAqbWFpbHUtZG5zXG4gICAgIyBNYWlsIHByb3RvY29sIHBvcnRzIGFyZSBwdWJsaXNoZWQgZGlyZWN0bHkgb24gdGhlIGhvc3QgKHNhbWUgYXBwcm9hY2ggYXNcbiAgICAjIHRoZSBwb3N0ZS5pbyB0ZW1wbGF0ZSkuIFRoZXkgd2lsbCBmYWlsIHRvIGJpbmQgaWYgYW5vdGhlciBtYWlsIHNlcnZlclxuICAgICMgYWxyZWFkeSB1c2VzIHRoZW0gb24gdGhpcyBtYWNoaW5lLlxuICAgIHBvcnRzOlxuICAgICAgLSBcIjI1OjI1XCIgIyBTTVRQIChzZXJ2ZXIgdG8gc2VydmVyKVxuICAgICAgLSBcIjQ2NTo0NjVcIiAjIFNNVFBTIHN1Ym1pc3Npb25cbiAgICAgIC0gXCI1ODc6NTg3XCIgIyBTdWJtaXNzaW9uIChTVEFSVFRMUylcbiAgICAgIC0gXCI5OTM6OTkzXCIgIyBJTUFQU1xuICAgIHZvbHVtZXM6XG4gICAgICAtIG1haWx1LWNlcnRzOi9jZXJ0c1xuICAgICMgVGhlIGltYWdlJ3MgYnVpbHQtaW4gaGVhbHRoY2hlY2sgYWxzbyByZXF1aXJlcyB0aGUgbWFpbCAoRG92ZWNvdCkgcHJveHksXG4gICAgIyB3aGljaCBvbmx5IHN0YXJ0cyBvbmNlIFRMUyBjZXJ0aWZpY2F0ZXMgZXhpc3QuIEJlaGluZCBUcmFlZmlrIHRoYXRcbiAgICAjIGRlYWRsb2NrczogdW5oZWFsdGh5IC0+IFRyYWVmaWsgZHJvcHMgdGhlIHJvdXRlIC0+IHRoZSBBQ01FIGNoYWxsZW5nZSBjYW5cbiAgICAjIG5ldmVyIGJlIGFuc3dlcmVkLiBDaGVjayBvbmx5IG5naW54IGluc3RlYWQgKGhlYWx0aCBlbmRwb2ludCByZXR1cm5zIDIwNCkuXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTUQtU0hFTExcIiwgXCJjdXJsIC1tMyAtc2tmTG8gL2Rldi9udWxsIGh0dHA6Ly8xMjcuMC4wLjE6MTAyMDQvaGVhbHRoXCJdXG4gICAgICBpbnRlcnZhbDogMzBzXG4gICAgICB0aW1lb3V0OiA1c1xuICAgICAgcmV0cmllczogM1xuICAgICAgc3RhcnRfcGVyaW9kOiA2MHNcbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSBhZG1pblxuXG4gIGFkbWluOlxuICAgIGltYWdlOiBnaGNyLmlvL21haWx1L2FkbWluOjIwMjQuMDZcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGVudmlyb25tZW50OiAqbWFpbHUtZW52XG4gICAgZG5zOiAqbWFpbHUtZG5zXG4gICAgdm9sdW1lczpcbiAgICAgIC0gbWFpbHUtZGF0YTovZGF0YVxuICAgICAgLSBtYWlsdS1ka2ltOi9ka2ltXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gcmVkaXNcblxuICBpbWFwOlxuICAgIGltYWdlOiBnaGNyLmlvL21haWx1L2RvdmVjb3Q6MjAyNC4wNlxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6ICptYWlsdS1lbnZcbiAgICBkbnM6ICptYWlsdS1kbnNcbiAgICB2b2x1bWVzOlxuICAgICAgLSBtYWlsdS1tYWlsOi9tYWlsXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gZnJvbnRcblxuICBzbXRwOlxuICAgIGltYWdlOiBnaGNyLmlvL21haWx1L3Bvc3RmaXg6MjAyNC4wNlxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6ICptYWlsdS1lbnZcbiAgICBkbnM6ICptYWlsdS1kbnNcbiAgICB2b2x1bWVzOlxuICAgICAgLSBtYWlsdS1tYWlscXVldWU6L3F1ZXVlXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gZnJvbnRcblxuICBhbnRpc3BhbTpcbiAgICBpbWFnZTogZ2hjci5pby9tYWlsdS9yc3BhbWQ6MjAyNC4wNlxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgaG9zdG5hbWU6IGFudGlzcGFtXG4gICAgZW52aXJvbm1lbnQ6ICptYWlsdS1lbnZcbiAgICBkbnM6ICptYWlsdS1kbnNcbiAgICB2b2x1bWVzOlxuICAgICAgLSBtYWlsdS1maWx0ZXI6L3Zhci9saWIvcnNwYW1kXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gZnJvbnRcbiAgICAgIC0gcmVkaXNcblxuICB3ZWJtYWlsOlxuICAgIGltYWdlOiBnaGNyLmlvL21haWx1L3dlYm1haWw6MjAyNC4wNlxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6ICptYWlsdS1lbnZcbiAgICBkbnM6ICptYWlsdS1kbnNcbiAgICB2b2x1bWVzOlxuICAgICAgLSBtYWlsdS13ZWJtYWlsOi9kYXRhXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gZnJvbnRcbiAgICAgIC0gaW1hcFxuXG4gIHJlZGlzOlxuICAgIGltYWdlOiByZWRpczphbHBpbmVcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIHZvbHVtZXM6XG4gICAgICAtIG1haWx1LXJlZGlzOi9kYXRhXG5cbnZvbHVtZXM6XG4gIG1haWx1LWNlcnRzOiB7fVxuICBtYWlsdS1kYXRhOiB7fVxuICBtYWlsdS1ka2ltOiB7fVxuICBtYWlsdS1tYWlsOiB7fVxuICBtYWlsdS1tYWlscXVldWU6IHt9XG4gIG1haWx1LWZpbHRlcjoge31cbiAgbWFpbHUtd2VibWFpbDoge31cbiAgbWFpbHUtcmVkaXM6IHt9IiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbnNlY3JldF9rZXkgPSBcIiR7cGFzc3dvcmQ6MTZ9XCJcbmFkbWluX3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5cbltjb25maWddXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJmcm9udFwiXG5wb3J0ID0gODBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcblxuW2NvbmZpZy5lbnZdXG5ET01BSU4gPSBcIiR7bWFpbl9kb21haW59XCJcblNFQ1JFVF9LRVkgPSBcIiR7c2VjcmV0X2tleX1cIlxuSU5JVElBTF9BRE1JTl9BQ0NPVU5UID0gXCJhZG1pblwiXG5JTklUSUFMX0FETUlOX1BXID0gXCIke2FkbWluX3Bhc3N3b3JkfVwiXG5TVUJORVQgPSBcIjE3Mi4xNi4wLjAvMTJcIiIKfQ==
The exact Docker Compose and template configuration this template deploys.
mail.example.com) at your server before deploying: an A record, plus an MX record for your mail domain targeting it./webmail is Roundcube, /admin is the admin UI./admin with admin@<your domain> and the auto-generated INITIAL_ADMIN_PW (Dokploy → your service → Environment). The account is created only on first boot (INITIAL_ADMIN_MODE=ifmissing); change the password from the admin UI afterwards.The mail protocol ports are published directly on the host: 25 (SMTP), 465 (SMTPS), 587 (submission) and 993 (IMAPS). The deployment fails to start if another mail server (or a previous Mailu deployment) already binds them on the same machine. Many VPS providers block outbound port 25 by default — ask your provider to unblock it, or configure a relay host in Mailu.
front container runs certbot internally and answers the HTTP-01 challenge through Traefik on port 80. This only succeeds once the DNS record of your domain points at the server. If the certificate was obtained after the first boot, restart the front service once so the TLS mail listeners (465/587/993) come up.SUBNET (default 172.16.0.0/12) is the network range Mailu trusts for its internal traffic (Postfix relay/XCLIENT, Dovecot proxying, Rspamd). It covers Docker's default address pools; if your Docker daemon uses custom pools, adjust it to match. Note this means other containers on the same Docker host are treated as trusted senders.1.1.1.1, 8.8.8.8) as upstream DNS: the admin container requires DNSSEC validation and Postfix uses it for DANE. Heavy production use benefits from a dedicated local resolver instead, because public resolvers are rate-limited by DNSBLs (see the Mailu DNS FAQ).Version: latest
Complete mail server solution with SMTP, IMAP, POP3, antispam, antivirus, web administration and webmail client.
Version: latest
Stalwart Mail Server is an open-source mail server solution with JMAP, IMAP4, POP3, and SMTP support and a wide range of modern features. It is written in Rust and designed to be secure, fast, robust and scalable.
Version: 1.6.8
MailCatcher NG runs a super simple SMTP server which catches any message sent to it to display in a web interface. Point your app's SMTP settings at mailcatcher-ng:1025 and inspect every captured email in the browser.
Version: v1.22.3
Mailpit is a tiny, self-contained, and secure email & SMTP testing tool with API for developers.
Version: 1.6.9
Free and open source webmail software for the masses, written in PHP.
Version: v0.2.1
00 is a self hostable SES dashboard for sending and monitoring emails with AWS
Dokploy is a free, open source deployment platform. Deploy Mailu and 499+ other templates on your own infrastructure with a single click.