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
Informazioni sul progetto

Setup mailcow dockerized using ansible

Installa
ansible-galaxy install mailcow.mailcow
Licenza
gpl-3.0
Download
8.4k
Proprietario