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/ansible-posteio