My Email Server

I have been running an email server for this domain since 2002. I started with Sendmail and Courier IMAP but switched to Cyrus IMAP and Postfix within a year and have used them ever since. I ran SquirrelMail for a few years but nowadays I use it via Outlook and a mobile client over IMAPS and SMTP Submission. Likewise it used to do content-filtering using amavis and clamav but I outsourced that to Mailroute when I ported it to the cloud, so it no longer accepts SMTP from the internet.

Migrating to Linux in the Cloud (2012)

Initially, it ran on a physical server on my home network running SunOS 5.x, a.k.a., Solaris. Then, in 2003, I began working on FreeBSD professionally. So, I ported the server to it in 2004 and ran that until migrating to the cloud. That happened in 2012 when AWS became a reasonable alternative to running local hardware. But they only offered Linux at the time, so I ported it from FreeBSD to Amazon Linux and ran it on that until they deprecated the AMI in 2023.

Using Linux Containers (2023)

Very few Linux distributions included Cyrus IMAP in 2023. OpenSUSE Leap had it, though, so I ported to that. Then I had trouble with their package so I decided to build Cyrus from source. But that meant creating a build environment for the runtime. I was also keen to avoid vendor lock-in after the forced move from Amazon Linux. So I decided to “containerize” it. I used Buildah instead of Docker, mainly because it lets me use shell scripts instead of Dockerfiles.

Publishing on GitHub (2024)

I published the scripts that build the images, a Makefile, a pod.yaml, and a README.md on GitHub.