This is an Ansible role to install and configure mailcow.
Include more information about mailcow in this section.
These platforms are supported:
- Ubuntu 20.04
- Ubuntu 22.04
- Debian 11
- Debian 12
- EL 8 (Tested on Rocky Linux 8)
- EL 9 (Tested on Rocky Linux 9)
- Fedora 40
- openSUSE Leap 15.5
Variable | Default | Description |
---|---|---|
mailcow_git_tag |
"2023-10a" |
The git tag to use for Mailcow |
mailcow_git_override_changes |
true |
Prevents updating or changing Mailcow manually |
mailcow_pass_scheme |
"BLF-CRYPT" |
The password scheme for Mailcow |
mailcow_hostname |
{{ ansible_fqdn }} |
The fully qualified domain name for Mailcow |
mailcow_dbname |
"mailcow" |
The database name for Mailcow |
mailcow_dbuser |
"mailcow" |
The database user for Mailcow |
mailcow_dbpass |
"mailcow" |
The database password for Mailcow |
mailcow_dbroot |
{{ mailcow_dbpass }} |
The root password for the Mailcow database |
mailcow_http_port |
80 |
The HTTP port for Mailcow |
mailcow_https_port |
443 |
The HTTPS port for Mailcow |
mailcow_http_bind |
"0.0.0.0" |
The bind address for Mailcow's HTTP service |
mailcow_https_bind |
"0.0.0.0" |
The bind address for Mailcow's HTTPS service |
mailcow_tz |
"UTC" |
The timezone setting for Mailcow |
mailcow_compose_project_name |
"mailcowdockerized" |
The Docker Compose project name for Mailcow |
mailcow_docker_compose_version |
"native" |
Indicates the version of Docker Compose to use |
mailcow_additional_san |
"" |
Additional Subject Alternative Names for SSL |
mailcow_additional_server_names |
"" |
Additional server names for Mailcow |
mailcow_letsencrypt |
true |
Whether to use Let's Encrypt for SSL certificates |
mailcow_ip_check |
true |
Enables IP checking for Mailcow |
mailcow_http_verification |
true |
Enables HTTP verification for Mailcow |
mailcow_clamd |
true |
Whether to enable ClamAV for Mailcow |
mailcow_sogo |
true |
Whether to enable SOGo for Mailcow |
mailcow_solr |
true |
Whether to enable Solr for Mailcow |
mailcow_use_watchdog |
true |
Whether to use the watchdog feature in Mailcow |
mailcow_watchdog_verbose_logging |
false |
Enables verbose logging for the Mailcow watchdog |
mailcow_internal_ipv4_network |
"172.22.1" |
The internal IPv4 network range for Mailcow |
mailcow_internal_ipv6_network |
"fd4d:6169:6c63:6f77::/64" |
The internal IPv6 network range for Mailcow |
mailcow_api_key |
"mailcow" |
The API key for Mailcow |
mailcow_api_key_readonly |
"mailcow" |
The read-only API key for Mailcow |
mailcow_api_allow_from |
{{ ansible_default_ipv4.address }} |
The allowed IP address for Mailcow API access |
mailcow_allow_admin_email_login |
false |
Whether to allow admin email login in Mailcow |
None
- name: Use diademiemi.mailcow role
hosts: "{{ target | default('mailcow') }}"
roles:
- role: "diademiemi.mailcow"
tags: ['diademiemi', 'mailcow', 'setup'] ```
MIT
- diademiemi (@diademiemi)
This repository comes with Molecule that run in Podman on the supported platforms. Install Molecule by running
pip3 install -r requirements.txt
Run the tests with
molecule test
These tests are automatically ran by GitHub Actions on push. If the tests are successful, the role is automatically published to Ansible Galaxy.