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.

About

Mail server using poste.io free version

Install
ansible-galaxy install salessandri/ansible-posteio
GitHub repository
License
mit
Downloads
109