mailcow.mailcow

mailcow: dockerized - Ansible 角色 🐮 + 🐋 = 💕

这个角色将设置一个 mailcow dockerized 邮件服务器。

前提条件

  • 一台正在运行的 Ubuntu/Debian 主机(目前不支持/未测试其他发行版)
  • 需要 Docker Compose v2!

需求

需求 描述
docker ce 主机上必须安装 Docker
docker-compose 需要 docker-compose

注意事项

此角色默认使用 inventory_hostname 作为 mailcow 主机名,这意味着您必须使用完整的合格域名作为您的清单主机名,例如 mail.mailcow.tld,或者将 mailcow__hostname 设置为正确的 FQDN。

变量

名称 目的 默认值 备注
mailcow__hostname 设置 MAILCOW_HOSTNAME inventory_hostname 必须是完整的合格域名
mailcow__install_path 设置 mailcow-dockerized 仓库将被克隆到的路径 /opt/mailcow-dockerized
mailcow__git_version 检出 mailcow 的特定版本 master
mailcow__timezone 在配置生成期间设置 mailcow 运行的时区 未设置 必须设置
mailcow__docker_compose_project_name 将 docker-compose 项目名称设置为用户定义的字符串 mailcowdockerized
mailcow__theme 在 vars.local.inc.php 中设置默认 mailcow 主题 lumen
mailcow__config_http_port 设置 mailcow.conf 中的 HTTP_PORT 80
mailcow__config_http_bind 设置 mailcow.conf 中的 HTTP_BIND none
mailcow__config_https_port 设置 mailcow.conf 中的 HTTPS_PORT 443
mailcow__config_https_bind 设置 mailcow.conf 中的 HTTPS_BIND none
mailcow__config_acl_anyone 设置 ACL_ANYONE disallow
mailcow__config_maildir_gc_time 设置 mailcow.conf 中的 MAILDIR_GC_TIME 1440
mailcow__config_additional_san 设置 mailcow.conf 中的 ADDITIONAL_SAN 需要为列表
mailcow__config_additional_server_names 设置 mailcow.conf 中的 ADDITIONAL_SERVER_NAMES 需要为列表
mailcow__config_skip_lets_encrypt 设置 mailcow.conf 中的 SKIP_LETS_ENCRYPT
mailcow__config_enable_ssl_sni 设置 mailcow.conf 中的 ENABLE_SSL_SNI
mailcow__config_skip_ip_check 设置 mailcow.conf 中的 SKIP_IP_CHECK
mailcow__config_skip_http_verification 设置 mailcow.conf 中的 SKIP_HTTP_VERIFICATION n
mailcow__config_skip_clamd 设置 mailcow.conf 中的 SKIP_CLAMD n
mailcow__config_skip_solr 设置 mailcow.conf 中的 SKIP_SOLR n
mailcow__config_solr_heap 设置 mailcow.conf 中的 SOLR_HEAP 1024
mailcow__config_skip_sogo 设置 mailcow.conf 中的 SKIP_SOGO n
mailcow__config_allow_admin_email_login 设置 mailcow.conf 中的 ALLOW_ADMIN_EMAIL_LOGIN n
mailcow__config_use_watchdog 设置 mailcow.conf 中的 USE_WATCHDOG n
mailcow__config_watchdog_notify_email 设置 mailcow.conf 中的 WATCHDOG_NOTIFY_EMAIL
mailcow__config_watchdog_notify_ban 设置 mailcow.conf 中的 WATCHDOG_NOTIFY_BAN y
mailcow__config_watchdog_subject 设置 mailcow.conf 中的 WATCHDOG_SUBJECT Watchdog ALERT
mailcow__config_log_lines 设置 mailcow.conf 中的 LOG_LINES 9999
mailcow__config_sogo_expire_session 设置 mailcow.conf 中的 SOGO_EXPIRE_SESSION 480
mailcow__install_updates 如果 yes,mailcow ansible 角色还将更新现有安装 yes
mailcow__redirect_http_to_https 如果 yes,所有通过 HTTP 的请求将被重定向到 HTTPS no 详见 https://mailcow.github.io/mailcow-dockerized-docs/u_e-80_to_443/
mailcow__config_acme_contact 设置 mailcow.conf 中的 ACME_CONTACT
mailcow__rspamd_clamd_servers 配置 rspamd 使用的 clamd 服务器 clamd:3310
mailcow__compose_command 配置用于 compose 的命令 docker compose 对于独立版本的 compose,请设置为 docker-compose

使用方式

最小的剧本示例:

---

- name: 安装 Python3
  hosts: all
  become: true
  gather_facts: false
  roles:
    - { role: raw,0.0, vars: {command: 'apt-get install -y python3 python3-pip'} }

- name: 主剧本
  hosts: all
  become: true
  gather_facts: true
  vars:
    mailcow__timezone: Europe/Berlin
  roles:
    - Ansible-Roles.docker-ce
    - Ansible-Roles.docker-compose
    - Ansible-Roles.mailcow
关于项目

Setup mailcow dockerized using ansible

安装
ansible-galaxy install mailcow.mailcow
许可证
gpl-3.0
下载
8.4k
拥有者