salessandri.posteio
poste.io
This role sets up a mailserver using the dockerized free version of poste.io.
This only takes care of setting up the service, its configuration is done through the web interface once the service is running.
Requirements
This role relies on docker being available on the host and the docker_container ansible module in ansible.
To cover the first one, the geerlingguy.docker role can be used.
To cover the dependencies for the docker_container module the geerlingguy.pip role can be used to install Python's docker package.
Only the host networking mode is supported for the time being, thus the following ports needs to be available on the host machine and will be used by the mailserver: 25, 80, 110, 143, 443, 465, 587, 993, 995 and 4190.
Role Variables
posteio__version(optional, default: 2.4.5): Image version tag to use.posteio__container_name(optional, default: posteio-mailserver): Name to use for the container created by the role.posteio__timezone(optional, default: UTC): Timezone to configure on the mailserver. Valid options can be found in this Wikipedia article.posteio__data_dir(optional, default /var/posteio/): Folder to use for storing the persistent files.posteio__clamav(optional, default: yes): Enable/disable ClamAV.posteio__rspamd(optional, default: yes): Enable/disable Rspamd.posteio__roundcube(optional, default: yes): Enable/disable Roundcube webmail.
Example Playbook
The following would be a fairly common role usage example:
- host: mail.my-domain.com
roles:
- role: salessandri.posteio
License
MIT
Author Information
This role was created in 2020 by Santiago Alessandri.
ansible-galaxy install salessandri.posteio