I moved my complete email server from MailCow to "mox"
Author: -fab- <fab@redterminal.org>
License: CC BY-SA 4.0
Published on: Mon, 10 Mar 2025 15:56:18 +0100
Last updated: Mon, 10 Mar 2025 15:56:18 +0100
This post is about my transition from my selfhosted MailCow Docker email suite to the very small, one binary "mox" email suite. It's mainly a reply to Christoph Luehr's microblog gemlog post:
Christoph Luehr's microblog gemini post
What is "mox"
"mox" is a complete email suite in one little binary written in Go. The FreeBSD binary I'm using (v0.0.14-go1.24.1 freebsd/amd64) is around 36 MB in size, which is amazing! But there are also builds for Linux, OpenBSD, Windows, Darwin (Apple) and many more. Look here for supported features and how to setup and operate.
"mox" Homepage (www)
"mox" Github Repo (www)
It's easy to setup
The whole thing is made to make email easy again. And therefore it's no problem to setup and run it. All the pesky DNS stuff is sorted out for you and you just need to implement the DNS records at your registrar. Because its only the binary, you need to write an rc.d script for FreeBSD or a systemd unit file in case of most Linuxes. But it's not sorcery. You'll find plenty of HowTos to write a little systemd unit file.
If you want to use FreeBSD like me, I'll eagerly help you set it up. If you want some help, you can visit the matrix channel of "mox" too! I'm sure if you ask nicely, the folks there are willing to help you. You can meet me there too.
#mox:matrix.org channel on [m]atrix (www)
It's easy to operate
You can configure and change your installation either with the "mox" binary on the commandline, edit the configuration files or use the web UI.
It's really, really small
As I said, the binary is roughly 36 MB in size and my FreeBSD 14.2-RELEASE amd64 VPS is mostly idle around 260 MB RAM. It got to 750MB once while I was working on setting it up. It's also not heavy on your CPU. 2 cores should be enough for a small instance like mine.
So I made the switch
I spent the last weekend with setting it up, but you need to know that I needed to have a running email server for all my email accounts that I already have (on 2 domains). If you're starting fresh, it's much easier and you have much less to do. Now I have everything setup with all the DNS entries, sensible logging and backup/restore with "mox" and borgbackup (daily offsite). This way I can spin up another VPS and recover from my backups in case of desaster in just 2-3 hours. I had to tinker with my homelab Proxmox installation and my Gemini/Gopher/Finger/Indieweb server to get everything right and also implemented some rules for sorting my emails, which is also possible from the web UI.
Staying up-to-date with the suite is easy as well. It's simply replacing the one binary and restart the server. You'll be notified automatically via email of new releases and what you need to do to update.
Try it yourself!
I can only advise to try "mox" yourself. You won't be disappointed, you'll see. No matter what operating system you are running, I'm sure it will be fun. And give feedback to the authors. "mox" is admittedly developed mostly by Mechiel Lukkien but every little feedback is a contribution. And maybe you're a Go programmer and can help writing code. Or help other people running their own "mox". Or report bugs. There are lots of ways you could help.
Final words
So now I have everything set up. The only thing I want to mention to Mechiel Lukkien is: Be aware of feature creep! Try to keep this thing as small as possible. Of course you have still some things on your roadmap, but don't let it get bloated. However, you're doing an amazing job and I'm happy that you got sponsorship from NLnet / NGI0. Keep the good work.
All in all - Have fun!
-fab-
--
Back to index
Homepage
Send me a gemini-mention!
Or write me an email.