mailcow.mailcow
mailcow: dockerized - Ansible Role 🐮 + 🐋 = 💕
This role sets up a mailcow dockerized email server.
Prerequisites
- You need a working Ubuntu/Debian host (other distributions are not currently supported).
- Docker Compose v2 is required!
Requirements
Requirement | Description |
---|---|
docker ce | Docker must be installed on the host |
docker-compose | docker-compose is required |
Notes
By default, this role will use the inventory_hostname
as the mailcow hostname. You need to use a fully qualified domain name as your inventory hostname, such as mail.mailcow.tld
or set mailcow__hostname
to the correct FQDN.
Variables
Name | Purpose | Default Value | Note |
---|---|---|---|
mailcow__hostname |
Sets the MAILCOW_HOSTNAME | inventory_hostname |
Must be a fully qualified domain name |
mailcow__install_path |
Sets the path for cloning the mailcow repo | /opt/mailcow-dockerized |
|
mailcow__git_version |
Checks out a specific version of mailcow | master |
|
mailcow__timezone |
Sets the timezone for mailcow during config | Not set | Must be set |
mailcow__docker_compose_project_name |
Sets the docker-compose project name | mailcowdockerized |
|
mailcow__theme |
Sets the default mailcow theme | lumen |
|
mailcow__config_http_port |
Sets HTTP_PORT in mailcow.conf | 80 |
|
mailcow__config_http_bind |
Sets HTTP_BIND in mailcow.conf | none |
|
mailcow__config_https_port |
Sets HTTPS_PORT in mailcow.conf | 443 |
|
mailcow__config_https_bind |
Sets HTTPS_BIND in mailcow.conf | none |
|
mailcow__config_acl_anyone |
Sets ACL_ANYONE | Disallow | |
mailcow__config_maildir_gc_time |
Sets MAILDIR_GC_TIME in mailcow.conf | 1440 |
|
mailcow__config_additional_san |
Sets ADDITIONAL_SAN in mailcow.conf | Needs to be a list | |
mailcow__config_additional_server_names |
Sets ADDITIONAL_SERVER_NAMES in mailcow.conf | Needs to be a list | |
mailcow__config_skip_lets_encrypt |
Sets SKIP_LETS_ENCRYPT in mailcow.conf | ||
mailcow__config_enable_ssl_sni |
Sets ENABLE_SSL_SNI in mailcow.conf | ||
mailcow__config_skip_ip_check |
Sets SKIP_IP_CHECK in mailcow.conf | ||
mailcow__config_skip_http_verification |
Sets SKIP_HTTP_VERIFICATION in mailcow.conf | n |
|
mailcow__config_skip_clamd |
Sets SKIP_CLAMD in mailcow.conf | n |
|
mailcow__config_skip_solr |
Sets SKIP_SOLR in mailcow.conf | n |
|
mailcow__config_solr_heap |
Sets SOLR_HEAP in mailcow.conf | 1024 |
|
mailcow__config_skip_sogo |
Sets SKIP_SOGO in mailcow.conf | n |
|
mailcow__config_allow_admin_email_login |
Sets ALLOW_ADMIN_EMAIL_LOGIN in mailcow.conf | n |
|
mailcow__config_use_watchdog |
Sets USE_WATCHDOG in mailcow.conf | n |
|
mailcow__config_watchdog_notify_email |
Sets WATCHDOG_NOTIFY_EMAIL in mailcow.conf | ||
mailcow__config_watchdog_notify_ban |
Sets WATCHDOG_NOTIFY_BAN in mailcow.conf | y |
|
mailcow__config_watchdog_subject |
Sets WATCHDOG_SUBJECT in mailcow.conf | Watchdog ALERT |
|
mailcow__config_log_lines |
Sets LOG_LINES in mailcow.conf | 9999 |
|
mailcow__config_sogo_expire_session |
Sets SOGO_EXPIRE_SESSION in mailcow.conf | 480 |
|
mailcow__install_updates |
If yes , the mailcow role will also update an existing installation |
yes |
|
mailcow__redirect_http_to_https |
If yes , all HTTP requests will be redirected to HTTPS |
no |
See Documentation |
mailcow__config_acme_contact |
Sets ACME_CONTACT in mailcow.conf | ||
mailcow__rspamd_clamd_servers |
Configures the clamd server used by rspamd | clamd:3310 |
|
mailcow__compose_command |
Configures the command used for compose | docker compose |
Set to docker-compose for the standalone version of compose |
Usage
Minimal playbook:
---
- name: Install Python3
hosts: all
become: true
gather_facts: false
roles:
- { role: raw,0.0, vars: {command: 'apt-get install -y python3 python3-pip'} }
- name: Main Playbook
hosts: all
become: true
gather_facts: true
vars:
mailcow__timezone: Europe/Berlin
roles:
- Ansible-Roles.docker-ce
- Ansible-Roles.docker-compose
- Ansible-Roles.mailcow
Installa
ansible-galaxy install mailcow.mailcow
Licenza
gpl-3.0
Download
8.4k
Proprietario