coaxial.mailcow

mailcow ロール

ビルドステータス

このプレイブックは、mailcowメールサーバーをセットアップし、オプションで毎時のborgバックアップを行います(無効にするには変数を参照してください)。 バックアップは /var/backup に保存され、borgによって処理された後に削除されます。 最新のバックアップは、24件の毎時バックアップ、7件の毎日バックアップ、4件の毎週バックアップ、6件の毎月バックアップ、1件の年次バックアップが保持されます。

mailcowホストの最小構成は、1GHzのCPU、1GBのRAM、5GBのディスクです。clamdが有効な場合は、1.5GBのRAM+スワップが推奨されます。毎時のバックアップ生成やオプションのスワップファイルのために追加のストレージスペースを計画してください(RAMの1倍分)。

前提条件

  • 動作中のUbuntuホスト(現時点では他のディストリビューションはサポートされていません)
  • Docker
  • バックアップが有効な場合はborgバックアップリポジトリ(cf. https://borgbackup.readthedocs.org/en/latest/quickstart.html)
  • borgリポジトリと一致するSSHキーとパスフレーズ

変数

名称 目的 デフォルト値 備考
mailcow__hostname mailcow.confMAILCOW_HOSTNAME を設定 設定されていない 設定する必要があります
mailcow__additional_san mailcow.confADDITIONAL_SAN を設定(追加のドメイン用) 未定義、オプション カンマ区切りの値:lala.example.com,yay.example.orgmailcow__hostname の繰り返しなし)
mailcow__skip_known_hosts borgmaticバックアップ用のカスタム known_hosts ファイルを使用するかどうか false true または false
mailcow__dbpass mailcow.confdbpass を設定 設定されていない 設定する必要があります
mailcow__dbroot mailcow.confdbroot を設定 設定されていない 設定する必要があります
mailcow__http_port mailcow.confHTTP_PORT を設定 80
mailcow__http_bind mailcow.confHTTP_BIND を設定 0.0.0.0
mailcow__https_port mailcow.confHTTPS_PORT を設定 443
mailcow__https_bind mailcow.confHTTPS_BIND を設定 0.0.0.0
mailcow__tz mailcow.confTZ を設定 UTC 可能な値のリスト
mailcow__skip_le mailcow.confSKIP_LETS_ENCRYPT を設定 n y または n
mailcow__skip_clamd mailcow.confSKIP_CLAMD を設定 n y または n
mailcow__ssh_key_name borgで使用するSSHキーのファイル名 borg_ssh_key mykey_rsa および mykey_rsa.pub の場合は mykey_rsa に設定
mailcow__borg_repo_host borgリポジトリがホストされている場所を示す 設定されていない 設定する必要があります(例:[email protected]
mailcow__borg_repo_name borgリポジトリの名前、例:borgリポジトリURLの : の後および :: の前の部分 mailcow 例:[email protected]:myrepo::backupname
mailcow__ntp_servers Dockerホストの時刻を同期するためにデフォルトのNTPサーバーを上書き 0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org スペース区切りのホスト名/FQDN/IPの文字列である必要があります
mailcow__enable_swap スワップファイルを使用するかどうか(3GB未満のRAMを持つホストに推奨) true ホストのRAMと同じサイズのスワップファイルを /swapfile に作成します
mailcow__enable_backups borgリポジトリへの毎時バックアップを有効にする true true または false に設定します
mailcow__git_version 特定のバージョンのmailcowをチェックアウト master mailcow gitリポジトリからの任意のコミット、ブランチ名、またはタグ

ファイル

files/ ディレクトリ内にあります:

名称 目的 備考
borg_ssh_key{,.pub} リモートborgリポジトリに接続するためのSSHキー mailcow__enable_backupstrue の場合のみ使用
passphrase リモートborgリポジトリのパスフレーズ mailcow__enable_backups の場合のみ
known_hosts borgmaticコンテナのためのカスタムknown_hostsファイル mailcow__skip_known_hosts 変数を参照。サーバーの最新のキーを取得するには ssh-keyscan 93.184.216.34 を実行します。mailcow__enable_backupstrue の場合のみ使用

バックアップ

mailcow__enable_backups が設定されている場合、バックアップは毎時0分に mailcowバックアップスクリプト を使用して生成されます。

docker-borgmatic コンテナは、指定されたborgリポジトリに毎時30分後にバックアップを送り、バックアップディレクトリをクリーンアップします。リモートborgリポジトリには、rsync.net が非常に良いです。

使用法

最小限のプレイブック:

---
- hosts: all
  become: true
  gather_facts: false
  vars:
    mailcow__borg_repo_host: [email protected]
    mailcow__hostname: test
    mailcow__dbpass: test
    mailcow__dbroot: test
    rawpython__os_family: Debian

  roles:
    - coaxial.raw-python  # ベアのUbuntu/DebianにPythonをブートストラップ
    - coaxial.mailcow
プロジェクトについて

Mailcow in Docker containers + hourly backups with borg

インストール
ansible-galaxy install coaxial.mailcow
ライセンス
Unknown
ダウンロード
82
所有者