coaxial.mailcow

mailcow Rolle

Build Status

Dieses Playbook richtet einen mailcow E-Mail-Server und stündliche Borg-Backups (optional, siehe Variablen zur Deaktivierung) ein. Backups werden in /var/backup gespeichert und nach der Verarbeitung durch Borg gelöscht. Die letzten 24 stündlichen, 7 täglichen, 4 wöchentlichen, 6 monatlichen und 1 jährlichen Backups werden aufbewahrt.

Die Mindestkonfiguration für den mailcow-Host beträgt 1GHz CPU, 1GB RAM und 5GB Speicherplatz. Empfohlen wird 1.5GB RAM + Swap, wenn clamd aktiviert ist. Planen Sie zusätzlichen Speicherplatz für die Erstellung des stündlichen Backups und für die optionale Swap-Datei (1x den RAM).

Voraussetzungen

Variablen

name Zweck Standardwert Hinweis
mailcow__hostname Setzen Sie MAILCOW_HOSTNAME in mailcow.conf (siehe https://mailcow.github.io/mailcow-dockerized-docs/install/) nicht gesetzt muss gesetzt werden
mailcow__additional_san Setzen Sie ADDITIONAL_SAN in mailcow.conf, um zusätzliche Domains zuzulassen (siehe https://mailcow.github.io/mailcow-dockerized-docs/firststeps-ssl/#additional-domain-names) undefiniert, optional durch Kommas getrennte Werte: lala.example.com,yay.example.org (wiederholen Sie nicht mailcow__hostname)
mailcow__skip_known_hosts Ob eine benutzerdefinierte known_hosts-Datei für die Borgmatic-Backups verwendet werden soll false true oder false, erlaubt dem Borgmatic-Container, sich ohne Aufforderung zum Akzeptieren des Schlüssels mit einem Remote-Borg-Repo zu verbinden
mailcow__dbpass Setzen Sie dbpass in mailcow.conf (siehe https://mailcow.github.io/mailcow-dockerized-docs/install/) nicht gesetzt muss gesetzt werden
mailcow__dbroot Setzen Sie dbroot in mailcow.conf (siehe https://mailcow.github.io/mailcow-dockerized-docs/install/) nicht gesetzt muss gesetzt werden
mailcow__http_port Setzen Sie HTTP_PORT in mailcow.conf (siehe https://mailcow.github.io/mailcow-dockerized-docs/install/) 80
mailcow__http_bind Setzen Sie HTTP_BIND in mailcow.conf (siehe https://mailcow.github.io/mailcow-dockerized-docs/install/) 0.0.0.0
mailcow__https_port Setzen Sie HTTPS_PORT in mailcow.conf (siehe https://mailcow.github.io/mailcow-dockerized-docs/install/) 443
mailcow__https_bind Setzen Sie HTTPS_BIND in mailcow.conf (siehe https://mailcow.github.io/mailcow-dockerized-docs/install/) 0.0.0.0
mailcow__tz Setzen Sie TZ in mailcow.conf UTC Liste möglicher Werte
mailcow__skip_le Setzen Sie SKIP_LETS_ENCRYPT in mailcow.conf n y oder n
mailcow__skip_clamd Setzen Sie SKIP_CLAMD in mailcow.conf n y oder n
mailcow__ssh_key_name Dateiname der SSH-Schlüssel, die mit Borg verwendet werden sollen (d.h. wenn die Schlüssel mykey_rsa und mykey_rsa.pub heißen, sollte diese Variable auf mykey_rsa gesetzt werden) borg_ssh_key
mailcow__borg_repo_host Geben Sie an, wo das Borg-Repo gehostet wird (d.h. der Teil vor : in einer Borg-Repo-URL) nicht gesetzt muss gesetzt werden (z.B. [email protected])
mailcow__borg_repo_name Name für das Borg-Repo, d.h. der Teil nach : und vor :: in einer Borg-Repo-URL mailcow z.B. myrepo von [email protected]:myrepo::backupname
mailcow__ntp_servers Überschreiben Sie die Standard-NTP-Server für die Zeit-Synchronisierung auf dem Docker-Host. 0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org muss eine Zeichenkette aus durch Leerzeichen getrennten Hostnamen/FQDNs/IPs sein
mailcow__enable_swap Verwenden Sie eine Swap-Datei (empfohlen für Hosts mit weniger als 3 GB RAM) true erstellt eine Swap-Datei unter /swapfile, die die gleiche Größe wie der RAM auf dem Host hat
mailcow__enable_backups Aktiviert stündliche Backups in einem Borg-Repository true auf true oder false setzen
mailcow__git_version Eine bestimmte Version von mailcow auschecken master jeder Commit, Branch-Name oder Tag aus dem Mailcow-Git-Repo

Dateien

Im Verzeichnis files/:

name Zweck Hinweis
borg_ssh_key{,.pub} SSH-Schlüssel zum Verbinden mit dem Remote-Borg-Repo (setzen Sie mailcow__ssh_key_name, wenn Sie nicht den Standardnamen verwenden). Nur verwendet, wenn mailcow__enable_backups auf true gesetzt ist
passphrase Passphrase für das Remote-Borg-Repo Nur, wenn mailcow__enable_backups
known_hosts Benutzerdefinierte known_hosts-Datei für den Borgmatic-Container, um unbekannte Schlüssel-Fehler zu vermeiden siehe mailcow__skip_known_hosts-Variable oben. Um einen aktuellen Schlüssel für Ihren Server zu erhalten, führen Sie ssh-keyscan 93.184.216.34 aus. Nur verwendet, wenn mailcow__enable_backups auf true gesetzt ist

Backups

Wenn mailcow__enable_backups gesetzt ist, werden stündlich Backups zur vollen Stunde mit dem mailcow Backup-Skript erstellt.

Der docker-borgmatic Container sendet die Backups stündlich zur halben Stunde an das angegebene Borg-Repo und bereinigt anschließend das Backup-Verzeichnis. Für Remote-Borg-Repos ist rsync.net recht gut.

Verwendung

Minimales Playbook:

---
- 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  # Python auf barem Ubuntu/Debian einrichten
    - coaxial.mailcow
Über das Projekt

Mailcow in Docker containers + hourly backups with borg

Installieren
ansible-galaxy install coaxial.mailcow
GitHub Repository
Lizenz
Unknown
Downloads
82
Besitzer