Freedombox is a server which can be controlled through a GUI, no command-line needed. It contains a click-to-install mail server. Presumably a bit of config could add a click-to-install Chatmail server. Do those who’ve actually set up a Chatmail server think this would work out?
agree with this
It looks like the mail server that is already included (https://wiki.debian.org/FreedomBox/Manual/Email) does support account creation. What are the benefits of Chatmail in this case? Spam protection and speed?
BTW here’s a list of software similar to Freedombox.
I’d personally say:
- speed (fork of dovecot that has the delay removed)
- push notifications on iOS (and on android if you can use FCM there but can’t keep the app in the background for IMAP IDLE)
For an invite-only setup, you wouldn’t need the restriction of only being able to send encrypted emails, unless you want to have that as a security feature.
I’d think encrypted-only open registration, and no such restriction on invited/approved accounts, would be ideal for most selfhosters.
Speed and notifications are are indeed attractions, not sure if it’d help with spam. I think Chatmail uses Nginx and Freedombox uses Apache, so this may be more complex than I thought.
A tutorial on how to convert an existing mailserver into a chatmail server would be very useful, assuming it’s not way easier to start over from scratch and migrate the data. But this is maybe a new topic.
I’m not working on Freedombox, but I am currently trying to make an alternate chatmail server implementation based on Mox, an open-source email server written in Go. My goal is to make a Chatmail server that can be deployed and maintained by people who are comfortable with computers, but have no systems administration experience.
If you’d like to follow along or contribute, here’s the repository for any tools I need to build to support this and here’s the issue open against Mox for working out the changes necessary to make it work well as a Chatmail server.
Thanks, s0ph0s! Actually, Mox looks better than Freedombox. For one, it says “You could combine mox with an existing webserver, but it requires a lot more configuration.” That sounds a bit ominous, and will probably keep me from playing with it, but at least it’s possible. A lot of preconf servers, including Freedombox, have the problem that you can’t run anything else on the server alongside them. And who wants the increased maintenance overhead and energy consumption of running multiple servers for multiple services? It negates the “quicker to install and maintain” advantage of preconf mailservers.
If there any chance of shoving some of these mods upstream? Giving Dovecot a native turn-off-delay setting, say, or giving Postfix an encryption filter? I assume the push notifications would have to be separate, on a basis of pure ignorance on my part.
Would be nice to have something more flexible like letting client to define a web hook that gets called, so not only delta chat could receive notifications (let user specify other relays, would also open the door for unified push and the like). Similar to JMAP Push, but much simpler → only ping, not say which event occurred nor which folder was updated.
This would need a mechanism for checking/validating if the target web address for the web hook is actually a notification recipient. (so that you can’t abuse the notification function to start DOS attacks from mail servers).
The “a lot more configuration” is that you need to pass certain web requests through your existing web server to Mox, so that it can answer requests from mail clients and other mail servers. As the ecosystem of tools supporting email have evolved, several things based on HTTP have become more-or-less mandatory to ensure secure mail server operation.
I’m not sure how much my project will be able to help with this, but maybe making it easier to containerize a Chatmail server will be useful? One of the output formats I’m expecting my tooling to produce is an x86 VM image that can just be started up to run a chatmail server. I think everything inside it will be a Go program, so putting it into a Docker image shouldn’t be too difficult either!
I’m working to put as much code as is sensible in upstream Mox, so that’s one thing. The push notification code will need to be part of upstream Mox by necessity—there’s no API for taking an action in response to an email arriving on the server. I can’t speak to plans to make upstream contributions to Dovecot or Postfix though, I’m not working on that part.