Self-hosting email for a year and why I quit


The dream of the digital nomad, the freedom of decentralized data, and the power of self-hosting often start in the quiet hum of a personal setup: the homelab. For those who build their own digital infrastructure, the homelab is more than just a collection of servers; it is a laboratory where the boundaries of cloud dependency are intentionally challenged.

For some, the journey begins slowly, but for others, it is a full-scale migration. One enthusiast took this path, systematically replacing mainstream cloud services with robust, self-hosted alternatives. The goal wasn’t just technical mastery; it was achieving complete control over their digital life.

The mission started with the big cloud players. Things like Google Drive and Apple iCloud, which once offered ubiquitous convenience, were systematically replaced. Then came the security and network layers. The author dove into self-hosted solutions for critical tools, implementing services like Bitwarden Premium for secure password management and NextDNS for private, controlled DNS routing.

This foundational work, conducted within the confines of the homelab, demonstrated that decentralization was achievable. With nearly everything running smoothly and securely, the next logical step was to aim for the grand prize: replacing an entire corporate suite.

The ultimate challenge was to replicate the functionality of Google Workspace—the familiar ecosystem of email, documents, and collaboration—by deploying a fully self-hosted mail server. This move represented a massive leap, transitioning from managing individual services to running an entire operational system.

The anticipation was high, the technical hurdles were immense, and the potential for a fully sovereign digital life was tantalizingly close. But when the project reached its climax, the reality was a bit less straightforward. The ambitious attempt to replace Google Workspace with a self-hosted mail server, while a fascinating learning experience, ultimately did not deliver the expected results.

You may also like: