poste.io2

Extensive settings customization

We are trying to carefully select defaults to fit majority of users. It might happen that you will need to adjust settings which are not available through web administration or you might even want install some new part to mail server container.

Smaller changes

Let's say you want disable TLS requirement for IMAP and POP3, although it is not recommended you have a lot of legacy clients. First you need to know what you are gonna change. In our example we will need change file /etc/dovecot/conf.d/10-ssl.conf

$ docker exec -ti mailserver bash

root@994de2779f8e:/# mkdir -p /data/_override/etc/dovecot/conf.d
root@994de2779f8e:/# cp /etc/dovecot/conf.d/10-ssl.conf /data/_override/etc/dovecot/conf.d
root@994de2779f8e:/# exit

$ nano /mailserver-data-dir/_override/etc/dovecot/conf.d/10-ssl.conf # replace "ssl = required" with "ssl = yes"
$ docker restart mailserver
be careful, some changes can affect your mail delivery in future updates

Custom Haraka plugins (v2.0.7+)

Adding custom plugins to Haraka can be done by creating following files within directories:

/data/haraka/smtp/config/my_plugin_for_port_25.ini
/data/haraka/smtp/plugins/my_plugin_for_port_25.js
/data/haraka/submission/config/my_plugin_for_port_587.ini
/data/haraka/submission/plugins/my_plugin_for_port_587.js

After restart it will be automatically added at the end of plugins config file (adjusting hook priority might be needed).

Extending image

Docker provides an easy mechanism to customize or completely alter source image. In our example we will install "nano" only but you can do just whatever you want. See Dockerfile reference

$ mkdir poste.ng
$ echo "FROM analogic/poste.io" >> poste.ng/Dockerfile
$ echo "RUN apt-get update && apt-get -y install nano" >> poste.ng/Dockerfile
$ docker build -t mailserver.ng poste.ng
$ # ... now you can run mailserver.ng...