From ee0d6391cd0ec3abe158747fae384fb33a2d2d31 Mon Sep 17 00:00:00 2001 From: Pierre Jaury Date: Sun, 10 Jan 2016 22:33:43 +0100 Subject: [PATCH] Initial commit --- Dockerfile | 11 ++++++++ README.md | 56 +++++++++++++++++++++++++++++++++++++++ admin/empty | 0 config/clamav/empty | 0 config/dovecot/empty | 0 config/postfix/empty | 0 config/spamassassin/empty | 0 config/supervisord/empty | 0 8 files changed, 67 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 admin/empty create mode 100644 config/clamav/empty create mode 100644 config/dovecot/empty create mode 100644 config/postfix/empty create mode 100644 config/spamassassin/empty create mode 100644 config/supervisord/empty diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..7f0b1b8f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM debian:jessie + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + postfix dovecot-imapd dovecot-sqlite \ # basics + dovecot-sieve dovecot-managesieved \ # filters + dovecot-antispam spamassassin clamav \ # additional utilities + supervisord \ # glue + && apt-get clean + +ADD config /etc/ diff --git a/README.md b/README.md new file mode 100644 index 00000000..f989c21d --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +Freeposte.io +============ + +Simple yet functional and full-featured mail server as a single Docker image. +The idea behing Freeposte.io is identical to motivations that led to poste.io: +even though it looks like a Docker anti-pattern, single upgradable image +running a full-featured mail server is a truly amazing advantage for hosting +mails on modern cloud services or home-brewed Docker servers. + +People from poste.io did an amazing job at accomplishing this ; any company +looking for a serious yet simple mail server with professional support should +turn to them. + +This project is meant for free software supporters and hackers to reach the +same level of functionality and still be able to host a complete mail server +at little cost while running only FOSS, applying the KISS principle and being +able to fine-tune some details if needed. + +Architecture +============ + +The mail infrastructure is based on a standard MTA-LDA : + + * Postfix with an SQL database for transport ; + * Dovecot with an SQL database for delivery and access ; + * Spamassassin for spam filtering ; + * ClamAV for malware filtering. + +Additional Web UI : + + * Roundcube Webmail (can easily be replaced) ; + * Administration UI based on Flask an VMM. + +The administration UI does not interact with the database directly but with +VMM instead, which has a great API and already implements most features while +providing solid configuration files for Postfix and Dovecot. + +Only authentication and authorization is managed directly by the Web +administration UI. + +All components are monitored by supervisord. + +TODO +==== + +The project is still at a very (very !) early stage. +This is more of a roadmap than a proper TODO list. Please poke me or pull +request if you would like to join the effort. + + - [ ] Import vmm configuration files and tune them to support spamassassin and clamav. + - [ ] Run a mail container with a simple vmm command line. + - [ ] Draft a Web administration UI. + - [ ] Implement basic features from the free (as in beer) poste.io. + - [ ] Start using on a couple production mail servers. + - [ ] Find a proper way to maintain vmm without forking. + - [ ] Implement some fancy features. diff --git a/admin/empty b/admin/empty new file mode 100644 index 00000000..e69de29b diff --git a/config/clamav/empty b/config/clamav/empty new file mode 100644 index 00000000..e69de29b diff --git a/config/dovecot/empty b/config/dovecot/empty new file mode 100644 index 00000000..e69de29b diff --git a/config/postfix/empty b/config/postfix/empty new file mode 100644 index 00000000..e69de29b diff --git a/config/spamassassin/empty b/config/spamassassin/empty new file mode 100644 index 00000000..e69de29b diff --git a/config/supervisord/empty b/config/supervisord/empty new file mode 100644 index 00000000..e69de29b