From 08241795a47a94ba72dd05ae4ad660dd59249d28 Mon Sep 17 00:00:00 2001 From: Joshua Tauberer Date: Thu, 5 Sep 2013 07:21:53 -0400 Subject: [PATCH] improving README --- README.md | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index cef8d1f5..c58e7852 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,28 @@ Mail in a Box ============= -One-click deployment of your own mail server and personal cloud (so to speak). +This is a work-in-progress to create a one-click deployment of a personal mail server. -This draws heavily on the "NSA-proof your email in 2 hours" blog post by Drew Crawford (http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/) and Sovereign by Alex Payne (https://github.com/al3x/sovereign). I've made some tweaks to their setups. +After spinning up a fresh Ubuntu machine, just run `sudo scripts/start.sh` and you get: + +* An SMTP server (postfix) for sending/receiving mail, with STARTTLS required for authentication. +* An IMAP server (dovecot) for checking your mail, with SSL required. +* Mailboxes and aliases are configured by a command-line tool. +* Spam filtering (spamassassin) with spam automatically going to your Spam folder, and moving mail in and out of the Spam folder triggers retraining on the message. +* DKIM signing on outgoing messages. +* DNS pre-configured for SPF and DKIM (just set your domain name nameservers to be the machine itself). + +Other things I'd like to add in the future are webmail, personal cloud services (file storage, calendar, etc.), an OpenID provider, a place for putting a simple homepage, support for Ubuntu cloud-init, etc. + +The goals of this project are: + +* Make the deployment of a mail server ridiculously easy. +* Configuration must be automated, concise, auditable, and idempotent. +* Promote decentralization and encryption on the web. + +This project was inspired in part by the "NSA-proof your email in 2 hours" blog post by Drew Crawford (http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/), Sovereign by Alex Payne (https://github.com/al3x/sovereign), and converstions with friends. + +This setup is currently what's powering my own personal email. Before You Begin ---------------- @@ -47,11 +66,9 @@ You will be asked to enter the hostname you chose and the public IP address of t After that you'll see a lot of output as system programs are installed and configured. -At the end you'll be asked to create a mail user for the system. Enter your email address. It doesn't have to be @... the hostname you chose earlier, but if it's not then every email address on that domain will have to be handled by your hostname. +At the end you'll be asked to create a mail user for the system. Enter your email address. It doesn't have to be @... the hostname you chose earlier, but if it's not then your DNS setup will be more complicated. The user's email address is also his/her IMAP/SMTP username. Then enter the user's password. -Enter the user's email address (which is also his IMAP/SMTP username) and then its password. - -It is safe to run the start script again in case something went wrong. +It is safe to run the start script again in case something went wrong. To add more mail users, run `tools/mail.py`. Configuring DNS ---------------