From b8a26baf23b957808dbd2dbd05d8c023fc083b73 Mon Sep 17 00:00:00 2001 From: Pierre Jaury Date: Sun, 31 Jul 2016 20:51:05 +0200 Subject: [PATCH] Move documentation to the Wiki and simplify the README --- README.md | 46 ---------------------------------------------- doc/archi.png | Bin 63429 -> 0 bytes doc/archi.xml | 1 - 3 files changed, 47 deletions(-) delete mode 100644 doc/archi.png delete mode 100644 doc/archi.xml diff --git a/README.md b/README.md index 4f12d1f8..b38bdc30 100644 --- a/README.md +++ b/README.md @@ -15,19 +15,9 @@ 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. -General architecture -==================== -The mail infrastructure is based on a standard MTA-LDA pattern : - * Postfix for incoming and outgoing emails ; - * Rmilter as a filtering interface before delivery (with rspamd and ClamAV) ; - * Dovecot as a delivery agent and reading (IMAP) server ; - * Roundcube (or any Webmail) as a user-friendly Web client ; - * Fetchmail as a client to fetch remote accounts (POP/IMAP) ; - * Freeposte (Flask application) as an administration interface. -![Architecture](doc/archi.png) Running a mail server ===================== @@ -43,39 +33,3 @@ docker-compose up -d For a detailed walktrough, see ``INSTALL.md``. Also, see ``MANAGE.md`` for details about daily maintenance of your mail server. - -Development environment -======================= - -The administration Web interface requires a proper dev environment that can easily be setup using ``virtualenv`` (make sure you are using Python 3) : - -``` -cd admin -virtualenv . -source bin/activate -pip install -r requirements.txt -``` - -You can then export the path to the development database: - -``` -export SQLALCHEMY_DATABASE_URI=sqlite:///path/to/dev.db -``` - -And finally run the server with debug enabled: - -``` -python manage.py runserver -``` - -Philosophy -========== - -The mailserver is designed as a whole, some images are therefore not best -suited for reuse outside this project. All images should however follow -Docker best practices and be as generic as possible : - - - even if not suited for reuse, they should be simple enough to - fit as base images for other projects, - - interesting settings should be available as environment variables - - base images should be well-trusted (officiel Alpine or Debian for instance). diff --git a/doc/archi.png b/doc/archi.png deleted file mode 100644 index 88706fd2a64d27c64d85d58d0dd34e9cf2a4b837..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63429 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 UK-9vuhy}dVRdkdq6kmM&FAGOwO8@`> diff --git a/doc/archi.xml b/doc/archi.xml deleted file mode 100644 index 91b358c2..00000000 --- a/doc/archi.xml +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file