libresh / compose-email

Email docker-compose for libre.sh v1
GNU General Public License v2.0
38 stars 9 forks source link

email

Email application for IndieHosters network

Features

indiehosters/email mail-in-a-box/mailinabox status
[x] SMTP (postfix) [x] SMTP (postfix) :white_check_mark:
[x] IMAP (dovecot) [x] IMAP (dovecot) :white_check_mark:
[x] POP (dovecot) [x] POP (dovecot) :white_check_mark:
[ ] search (dovecot-lucene) [x] search (dovecot-lucene) planned
[ ] CardDAV/CalDAV (ownCloud) [x] CardDAV/CalDAV (ownCloud) part of ownCloud package
[ ] Exchange ActiveSync (z-push) [x] Exchange ActiveSync (z-push) planned
[ ] Webmail (Roundcube) [x] Webmail (Roundcube) planned
[ ] static website hosting (nginx) [x] static website hosting (nginx) part of other package
[x] Spam filtering (spamassassin) [x] Spam filtering (spamassassin) :white_check_mark:
[x] greylisting (postgrey) [x] greylisting (postgrey) :white_check_mark:
[ ] Backups (duplicity) [x] Backups (duplicity) part of backup package
[ ] firewall (ufw) [x] firewall (ufw) planned, as part of firewall package
[ ] intrusion protection (fail2ban) [x] intrusion protection (fail2ban) ? (difficult in docker)
[ ] system monitoring (munin) [x] system monitoring (munin) planned, as part of other package

DNS (nsd4):

indiehosters/email mail-in-a-box/mailinabox status
[x] DKIM (OpenDKIM) [x] DKIM (OpenDKIM) :white_check_mark:
[x] DMARC [x] DMARC (postgrey) :white_check_mark:
[ ] SPF [x] SPF planned, as part of DNS
[ ] DNSSEC [x] DNSSEC planned, as part of DNS
[ ] DANE TLSA [x] DANE TLSA planned, as part of DNS
[ ] SSHFP records [x] SSHFP records planned, as part of DNS

control panel and API:

indiehosters/email mail-in-a-box/mailinabox status
[x] vimbadmin [x] custom coded :white_check_mark:
[x] Add/Remove mail User [x] Add/Remove mail User :white_check_mark:
[x] Add/Remove Aliases [x] Add/Remove Aliases :white_check_mark:
[ ] custom DNS records [x] custom DNS records planned, as part of DNS
[x] multiadmin [ ] mutliadmin :white_check_mark:

Prerequistes

Modify the following files:

Add the following files:

Run

./install
VIRTUAL_HOST=example.org docker-compose up

Check go to the web interface (http://conainer_ip:80), get the salts, and put them in the salts file.

Everything should be up and running.

Backup

To backup, just run the ./scripts/pre-backup in your folder and you should be good!

OpenDKIM

Run the add_domain.sh script inside the postix container, and configure your DNS, you should be fine!

Add a mailbox

You can find a script here

Contributing

If you have any issue (something not working, mail marked as spam, missing doc), please do report an issue here! Thanks

This system is used in production at IndieHosters so it is maintained. If you use it, please tell us, and we'll be really happy to update this README!

You can help us by:

TODO

Heavily inspired by mail-in-a-box! Thanks to the amazing work they produced. It is the best up to date how to for email hosting out there :)