SysAdventures: 18 months of running my own mail server

18 months ago I installed Mail-in-a-box on a small server. The goal was to try to free myself from companies such as Facebook and Google. With this post I just want to give a quick rundown of what my tech setup looks like these days.

Before moving to Mailinabox #

Before setting up my Mailinabox server I had three servers running nilsnh.no (blog), thunki.no (blog), thunki.no (mail).

Why two servers for hosting thunki.no you might ask? Well, I initially started with renting a web + mail server from host1.no. But after running into some limitations (or an unsound decision) I rented yet another small server from Digital Ocean to host just the company web page. Back then I didn’t know about Mailinabox and I only knew that mail servers were hard to setup up properly. And that’s how I ended up renting 1 + 2 servers.

The costs were small but they were adding up.

Thoughts on having used Mailinabox (MB) for more than 18 months #

These days I’m just renting a single server from Digital Ocean and I’ve only installed Mailinabox on it. I paid a little extra to get full automated backups because hey this is kinda important data.

You give MB a clean Ubuntu OS installation and it will take care of the rest. As long as you don’t do anything crazy with its environment it will perform. I really like that philosophy of saying, “hey we’re only going to support this single version of Ubuntu and we’re going to give everyone a well configured default setup to begin with.”

Upgrading has been a charm. It’s basically come down to running the install script one more time. Mailinabox is also quite tidy. It stores the user data in a single place which is nice if you need to move.

The Mailinabox setup guide encourages you to let it take Domain Name Server (DNS) responsibility. And you should let it. It can then automatically update DNS records and even add a lot of security measures such as such as DNSSEC, DKIM, DMARC and SPF.

MB also adds a web server. In the MB’s web interface you can setup up new domains and it will automatically setup proper DNS records. All you need to do then is to place your static html web site in a designated folder. I’m currently hosting nilsnh.no (web + email) and thunki.no (web + email). I also have a couple more domains stationed at the server but I haven’t put them to use yet.

I also moved my contacts and calendar to the server. Mailinabox bundles an installation of Owncloud which provides a wealth of office functionality, calendars, file syncing, contact syncing etc. It was a big win for me to stop syncing my contacts and calendar to Google and instead sync it to my server instead.

MB’s encryption setup also got a big boost in the past year. And that was thanks to the Let’s Encrypt project. MB added support for LE not long after its release. This change made it both easy and free to provision TLS certificates for any domains on my server. In other words, I got to encrypt all the things. Green pad locks for all!

There is but one snag to MB. I’ve had trouble sending email to Hotmail accounts. Microsoft apparently has a quite strict setup. I’ll need to try and debug that. But that’s a sys(adventure) for another time. :)