Lumen is an open-source group discussion platform with dual web-email access. It can be compared to Discourse, Loomio, Slack, Google Groups or Facebook Groups. An outline of its features:
Lumen is written in Ruby using the Padrino framework. It was originally created for the New Economy Organisers Network (hosted by the New Economics Foundation) who kindly agreed to open source the project and continue to sponsor its development.
Create a 2GB (or greater) droplet, which will act as both your web and mail server, with the image 'Dokku 0.9.4 on 16.04' and hostname $DOMAIN
(this could be a root domain like lumenapp.com, or a subdomain like network.lumenapp.com). SSH into the server via ssh root@$DROPLET_IP
.
Run the installation script, replacing $DROPLET_IP
and $DOMAIN
with the appropriate values:
wget https://raw.github.com/wordsandwriting/lumen/master/script/lumen-install.sh; chmod +x lumen-install.sh; ./lumen-install.sh $DROPLET_IP $DOMAIN
Add DNS records (get DKIM key with nano -$ /etc/opendkim/keys/$DOMAIN/mail.txt
):
$DOMAIN MX $DOMAIN
$DOMAIN A $DROPLET_IP
$DOMAIN TXT "v=spf1 mx -all"
mail._domainkey.$DOMAIN TXT "v=DKIM1; k=rsa; p=..."
Visit $DOMAIN
. (You should be automatically logged in as an administrator. If not, sign in with the email address admin@example.com
and the password lumen
.) Change the admin name, email address and password, then click 'Configuration' in the footer to set configuration variables. You're done!
If you switch your mail server, you'll need to re-setup the group mail accounts on the new server. Fire up a console (padrino c
) and run:
Group.each { |group| group.setup_mail_accounts_and_forwarder }
ConversationPost.update_all(imap_uid: nil)