ansibleguy.sw_mailcow

MailCow Logo

Ansible 角色 - MailCow

用于在 Linux 服务器上部署 MailCow dockerized 的角色。

该角色遵循官方的 安装说明

给我买杯咖啡

Molecule 测试状态 YamlLint 测试状态 PyLint 测试状态 Ansible-Lint 测试状态 Ansible Galaxy

Molecule 日志: 简短, 完整

测试过:

  • Debian 11

安装

# 最新版本
ansible-galaxy role install git+https://github.com/ansibleguy/sw_mailcow

# 从 galaxy 安装
ansible-galaxy install ansibleguy.sw_mailcow

# 或者指定自定义角色路径
ansible-galaxy install ansibleguy.sw_mailcow --roles-path ./roles

# 安装依赖
ansible-galaxy install -r requirements.yml

前提条件

请参阅: 前提条件


使用

想要一个简单的 Ansible 图形界面?可以查看我的 Ansible WebUI

配置

根据需要定义配置:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'
  # 举例: 'srv.template.ansibleguy.net' 必须是服务器的有效公共 DNS 主机名

  # 如果没有 IPv6
  ipv6: false  

  nginx:  # 配置 Web 服务器设置 => 请参见: https://github.com/ansibleguy/infra_nginx
    aliases: ['mail.template.ansibleguy.net']  # 要添加到证书的额外域名
    ssl:
      mode: 'letsencrypt'  # 或者 selfsigned/ca/snakeoil
      # 如果您使用 'selfsigned' 或 'ca':
      #    cert:
      #      cn: 'MailCow 服务器'
      #      org: 'AnsibleGuy'
      #      email: '[email protected]'
    letsencrypt:
      email: '[email protected]'

  config:  # 为 'mailcow.conf' 添加配置覆盖
    WEBAUTHN_ONLY_TRUSTED_VENDORS: 'y'

  auto_update:
    enable: true  # 启用自动更新

  backup:
    retention_days: 60  # 默认 = 14

最简单的示例:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'

如果您想使用内置(非 ansible 管理)web 服务器:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'
  # 举例: 'srv.template.ansibleguy.net' 必须是服务器的有效公共 DNS 主机名

  manage:
    webserver: false

  config:
    HTTP_PORT: 80
    HTTPS_PORT: 443
    # 如果要使用内置的 letsencrypt 支持
    SKIP_LETS_ENCRYPT: 'n'
    ACME_CONTACT: '[email protected]'
    ADDITIONAL_SAN: 'smtp.template.ansibleguy.net,mail.*'

执行

运行剧本:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml

还有一些有用的 标签 可用:

  • docker
  • webserver

调试错误时,可以在运行时设置 'debug' 变量:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes

功能

  • 包安装

    • Ansible 依赖(_最小_)
  • 配置

    • 服务在启动时启动容器:'mailcow.service'

    • 默认配置

      • 目录:
        • 基础:'/var/lib/mailcow'
        • 数据:'/var/lib/docker/volumes'(_无法通过角色更改_)
        • 备份:'/var/backups/mailcow'
    • 默认选择

    • 默认选择退出

      • 使用 更新脚本 进行自动更新(_注意:实际工作非常好!_)

信息

  • 信息: 考虑使用 邮件网关以提高安全性

    举例:Proxmox 邮件网关

  • 信息: 查看故障排除信息:故障排除

  • 注意: 该角色目前仅支持基于 Debian 的系统

  • 注意: 此角色的许多功能可以选择启用或禁用。

    有关所有可用选项,请查看位于 主默认文件 的默认配置!

  • 警告: 并非您提供的每个设置/变量都会进行有效性检查。错误的配置可能会导致角色无法正常工作!

  • 信息: 默认凭据:

    用户:admin

    密码:moohoo

  • 信息: 有关更多详细信息,请查看 MailCow 提供的 良好文档

  • 信息: 如果在创建配置后设置失败,您需要手动删除配置文件(_/var/lib/mailcow/mailcow.conf_),使角色知道尚未初始化!

  • 警告: 自动 备份 被放置在同一系统上,需要复制到 远程 位置以确保安全!

关于项目

Ansible role to deploy MailCow dockerized on a linux server

安装
ansible-galaxy install ansibleguy.sw_mailcow
许可证
other
下载
1.9k
拥有者
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg