All-in-one docker container to host your own personal mail server, powered by Postfix mail transfer agent, Dovecot mail delivery agent, MariaDB database and Nginx web server. Webmail client is provided by [Roundcube](https://github.com/roundcube/roundcubemail) and management is provided by [PostfixAdmin](https://github.com/postfixadmin/postfixadmin). Mail domain services include OpenDKIM and OpenDMARC.
*Note: ISP must have SMTP Port 25 open.*
## :: Pre-installation
Update your DNS registry to reflect the following records
```
# MX Record
@ 300 IN MX 0 ${subdomain}.${domain}.
# A Record
${subdomain} 300 IN A ${server-ip-address}
# TXT Records
@ 300 IN TXT "v=spf1 mx ~all"
${subdomain} 300 IN TXT "v=spf1 a ~all"
_dmarc 300 IN TXT "v=DMARC1; p=none; pct=100; fo=1; rua=mailto:dmarc@${domain}"
default._domainkey 300 IN TXT "v=DKIM1; h=sha256; k=rsa; p=${opendkim-key}"
# CNAME Records
autoconfig 300 IN CNAME ${subdomain}.${domain}.
autodiscover 300 IN CNAME ${subdomain}.${domain}.
```
Example entries:
```
server-ip-address= # Host IPv4 address
subdomain=mail
domain=website.com
opendkim-key= # Provided by mail.sh
```
## :: Installation
Clone this repo and build it locally or pull it on the registry specified in docker-compose.yaml:
Run **01-setup.sh** to install the proxy and Letsencrypt certificates to be used by Postfix and Dovecot. It also generates a functional docker-compose env file.