ansibleguy.sw_mailcow

MailCow ロゴ

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 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: 'mailcow@template.ansibleguy.net'
    letsencrypt:
      email: 'mailcow@template.ansibleguy.net'

  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: 'mailcow@template.ansibleguy.net'
    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 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
ライセンス
other
ダウンロード
1.9k
所有者
guy@ansibleguy.net | GPG: https://badges.ansibleguy.net/public.gpg