Extensive settings customization
We try to carefully select defaults to suit the majority of users. It may happen that you need to adjust settings that are not available through web administration, or you may even want to install some new part to the mail server container.
Smaller changes
Let's say you want to disable the TLS requirement for IMAP and POP3, although this is not recommended you have no other choice because you serve a lot of local legacy clients. First you need to know which files you need to change. In our example we need to change the 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
Custom Haraka plugins (v2.0.7+)
Adding custom plugins to Haraka can be done by creating the following files inside the 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 a restart it will be automatically added to the end of the `plugins' config file (you may need to adjust the hook priority).
Extending image
Docker provides an easy mechanism to customise or completely change the source image. In our example, we will only install "nano", but you can do whatever you like. See Dockerfile reference
$ mkdir poste.pro.ng $ echo "FROM poste.io/mailserver" >> poste.pro.ng/Dockerfile $ echo "RUN apt-get update && apt-get -y install nano" >> poste.pro.ng/Dockerfile $ docker login -u "username" -p "password" https://poste.io $ docker build -t mailserver.pro.ng poste.pro.ng $ # ... now you can run mailserver.pro.ng...
$ 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...