Email Server: projectx

At DebConf, I met a very accomplished engineer named Nolan, and he told me about his email server project, codenamed projectx. It is a mail server which is built using Debian packages and is designed for a Raspberry Pi. The email services, like incoming SMTP, Spamassassin, and IMAP, are broken into minimal containers, which can tear themselves down and restart stateless containers after each email.

Given that Nolan’s mail server (1) is built with Debian packages and (2) is designed for single-board computers, I think there is a huge opportunity for us to learn from him. Tagging the core devs: @sunil @njoseph @jvalleroy

Code:

Here is the git repository:

Note that the “os” directory is the actual host os. The “app-email” is probably more relevant to FreedomBox.

Video:

Nolan’s mail server fits within a larger project called Boundery, which is extremely similar to FreedomBox: it is a system designed to enable non-technical users to host a server on hardware at home.

He explains Boundery and his mail server in a talk at DebConf. I encourage others to watch his talk (if you’re in a rush, you can start the video at 13:50):
https://debconf19.debconf.org/talks/50-boundery-a-debian-derivative-for-non-technical-users-to-build-a-home-cloud/

Further resources:

2 Likes

Thank you for the heads-up Danny, this sounds really interesting. It seems to me that there is ample room for collaboration, or at least learning from one another. One interesting idea is to configure the image before its first boot (if I understood correctly, he entered the wifi credentials).
Also, in my understanding, the FreedomBox app store could be agnostic enough to potentially allow installation of apps coming from projectx? Maybe you could invite him on a hacking call?

Thanks for posting this Danny.

I’d be happy to join a hacking call.

I think there is plenty of places where we could collaborate, most significantly around cross-platform app availability. There are some wrinkles around Boundery’s aggressively containerized application model, but they can probably be finessed.

  • nolan

Wonderful! Our next call is Saturday, August 10th at 14:00 UTC. We have calls on our mumble channel at fbx.freedomboxfoundation.org (Port: 64738). I’ll tag you in a future post about the call to remind you of the date and time, @nolan.

More details about progress calls: FreedomBox/ProgressCalls - Debian Wiki

@nolan I am looking foward to discussing projectx with you on the progress call. Would love hear your comments on the email server plan we prepared ealier https://salsa.debian.org/freedombox-team/plinth/issues/56

Is there a direction chosen for the emailserver to use?

Setting up a self-hosted email server is one of Debian’s projects for GSoC’21. If we could pick it up from where this project is right now, that would speed things up considerably. I did check out the aforementioned resources and was wondering if we could collaborate…

Raspberry Pi Email Server using Citadel

4 Likes