Post·Self-Hosting Custom-Domain Email with Stalwart and Dokploy·July 25, 2026Final checklistThe deployment is complete when the following are true:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployUpgrade & Recovery proceduresPin the Stalwart image to a tested version:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployCertificate renewal runbookCertificate handling is the most important recurring operational concern in this architecture.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployStorage and backup strategyThe lightweight deployment uses RocksDB and local Docker volumes.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployUnderstanding SPF, DKIM, and DMARCThese systems authenticate outgoing mail.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployTroubleshooting lessonsSymptom:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 15: Test the complete deploymentSend from an external account to:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 14: Connect a mail clientUse the full email address as the username.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 13: Add calendars and contactsStalwart already provides CalDAV and CardDAV through its HTTP service.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 12: Configure MTA-STS and TLS reportingMTA-STS tells other mail servers that your SMTP service should use encrypted transport and identifies the valid MX hostname.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 11: Mail-client discoveryAdd:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 10: Publish DNS recordsAfter the mailbox and listeners are ready, publish the MX and authentication records.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 9: Create mailboxes, aliases, and catch-all deliveryDo not use the administrator account as a daily mailbox.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 8: Configure outbound delivery correctlyNavigate to:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 7: Configure reverse DNSNormal DNS maps a hostname to an IP address:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 6: Configure and verify listenersThe minimum recommended listeners are: Listener Protocol Binding Implicit TLS smtp SMTP [::]:25 No submissions SMTP [::]:465 Yes submission SMTP [::]:587 No imaps IMAP [::]:993 Yes http HTTP [::]:8080BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 5: Share Dokploy’s certificate with StalwartDokploy’s certificate currently protects:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 4: Configure reverse-proxy behaviorNavigate to:BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 3: Complete the Stalwart setup wizardOn first startup, Stalwart enters bootstrap mode and prints temporary administrator credentials in its logs.BBeendiid Caydiid
Self-Hosting Custom-Domain Email with Stalwart and DokployPhase 2: Create the public DNS and Dokploy routeIn your DNS provider, add:BBeendiid Caydiid