ansibleguy.sw_mailcow
Ansible ロール - MailCow
Linux サーバーに MailCow dockerized をデプロイするためのロールです。
このロールは公式の インストール手順 に従っています。
テスト済み:
- 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 GUI が必要ですか?私の Ansible WebUI をチェックしてください。
設定
必要に応じて設定を定義してください:
mailcow:
fqdn: 'srv.template.ansibleguy.net'
# 例: 'srv.template.ansibleguy.net' はサーバーの有効な公開 DNS ホスト名でなければなりません。
# IPv6 がない場合
ipv6: false
nginx: # ウェブサーバー設定を構成 => 詳細は 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 管理外の) ウェブサーバーを使用する場合:
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'
- ディレクトリ:
デフォルトのオプトイン:
Docker => このロール を使用
- 依存関係
- サーバー
- Docker-compose
Dockerホスト上の Nginx プロキシ => このロール を使用
機能:
- SOGo Groupware
- Apache Solr
- ClamAV (ウイルススキャナー)
IPv6 有効
バックアップスクリプト を使用した毎日のバックアップ
デフォルトのオプトアウト:
- アップデートスクリプト を使用した自動アップデート (注: 実は非常によく機能します!)
情報
情報: セキュリティを高めるために メールゲートウェイの使用 を検討してください!
例えば: Proxmox Mail Gateway
情報: トラブルシューティング情報を確認してください: トラブルシューティング
注意: このロールは現在、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