ansibleguy.sw_mailcow
Ansible Rolle - MailCow
Rolle zur Bereitstellung von MailCow dockerized auf einem Linux-Server.
Diese Rolle folgt den offiziellen Installationsanweisungen.
Molecule-Protokolle: Kurz, Vollständig
Getestet:
- Debian 11
Installation
# letzte Version
ansible-galaxy role install git+https://github.com/ansibleguy/sw_mailcow
# aus der Galaxy
ansible-galaxy install ansibleguy.sw_mailcow
# oder zu einem benutzerdefinierten Rollenspeicherort
ansible-galaxy install ansibleguy.sw_mailcow --roles-path ./roles
# Abhängigkeiten installieren
ansible-galaxy install -r requirements.yml
Voraussetzungen
Siehe: Voraussetzungen
Verwendung
Möchten Sie eine einfache Ansible-GUI? Schauen Sie sich meine Ansible WebUI an.
Konfiguration
Definieren Sie die Konfiguration nach Bedarf:
mailcow:
fqdn: 'srv.template.ansibleguy.net'
# zum Beispiel: 'srv.template.ansibleguy.net' muss ein gültiger, öffentlicher DNS-Hostname des Servers sein
# wenn Sie kein IPv6 haben
ipv6: false
nginx: # Webserver-Einstellungen konfigurieren => siehe: https://github.com/ansibleguy/infra_nginx
aliases: ['mail.template.ansibleguy.net'] # zusätzliche Domains, die dem Zertifikat hinzugefügt werden sollen
ssl:
mode: 'letsencrypt' # oder selfsigned/ca/snakeoil
# wenn Sie 'selfsigned' oder 'ca' verwenden:
# cert:
# cn: 'MailCow Server'
# org: 'AnsibleGuy'
# email: '[email protected]'
letsencrypt:
email: '[email protected]'
config: # Konfigurationseinstellungen für 'mailcow.conf' hinzufügen
WEBAUTHN_ONLY_TRUSTED_VENDORS: 'y'
auto_update:
enable: true # automatische Updates aktivieren
backup:
retention_days: 60 # Standard = 14
Minimalbeispiel:
mailcow:
fqdn: 'srv.template.ansibleguy.net'
Wenn Sie den integrierten (nicht ansible-gemischten) Webserver verwenden möchten:
mailcow:
fqdn: 'srv.template.ansibleguy.net'
# zum Beispiel: 'srv.template.ansibleguy.net' muss ein gültiger, öffentlicher DNS-Hostname des Servers sein
manage:
webserver: false
config:
HTTP_PORT: 80
HTTPS_PORT: 443
# wenn Sie die integrierte Letsencrypt-Unterstützung verwenden möchten
SKIP_LETS_ENCRYPT: 'n'
ACME_CONTACT: '[email protected]'
ADDITIONAL_SAN: 'smtp.template.ansibleguy.net,mail.*'
Ausführung
Führen Sie das Playbook aus:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml
Es stehen auch einige nützliche Tags zur Verfügung:
- docker
- webserver
Um Fehler zu debuggen, können Sie die 'debug'-Variable zur Laufzeit setzen:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes
Funktionalität
Paketinstallation
- Ansible-Abhängigkeiten (minimal)
Konfiguration
Dienst zum Starten der Container beim Booten: 'mailcow.service'
Standardkonfiguration:
- Verzeichnisse:
- Basis: '/var/lib/mailcow'
- Daten: '/var/lib/docker/volumes' (kann von der Rolle nicht geändert werden)
- Backup: '/var/backups/mailcow'
- Verzeichnisse:
Standard-Opt-ins:
Docker => Verwendung DIESER Rolle
- Abhängigkeiten
- Server
- Docker-compose
Nginx-Proxy auf Docker-Host => Verwendung DIESER Rolle
Funktionen:
- SOGo Groupware
- Apache Solr
- ClamAV (Viren Scanner)
IPv6 aktiviert
Tägliche Sicherung mit Hilfe des Backupscripts
Standard-Opt-outs:
- Automatische Updates mithilfe des Updatescripts (HINWEIS: funktioniert aktuell sehr gut!)
Informationen
Hinweis: Ziehen Sie in Betracht, ein Mail-Gateway zur Verbesserung der Sicherheit zu verwenden!
Zum Beispiel: Proxmox Mail Gateway
Hinweis: Überprüfen Sie die Fehlerbehebungsinformationen: Fehlerbehebung
Hinweis: Diese Rolle unterstützt derzeit nur Debian-basierte Systeme.
Hinweis: Die meisten Funktionen der Rolle können ein- oder ausgeschaltet werden.
Für alle verfügbaren Optionen siehe die Standardkonfiguration in der Haupt-Standarddatei!
Warnung: Nicht jede Einstellung/Variable, die Sie bereitstellen, wird auf Gültigkeit überprüft. Eine falsche Konfiguration kann die Rolle beeinträchtigen!
Hinweis: Standard-Anmeldeinformationen:
Benutzer: admin
Passwort: moohoo
Hinweis: Für detailliertere Informationen - schauen Sie sich die schöne Dokumentation von MailCow an!
Hinweis: Wenn die Einrichtung nach dem Erstellen der Konfiguration fehlschlägt, müssen Sie die Konfigurationsdatei (/var/lib/mailcow/mailcow.conf) manuell entfernen, damit die Rolle weiß, dass sie nicht bereits initialisiert ist!
Warnung: Die automatischen BACKUPS werden auf demselben System gespeichert und müssen an einen REMOTE Speicherort kopiert werden, um SICHER zu sein!
Ansible role to deploy MailCow dockerized on a linux server
ansible-galaxy install ansibleguy.sw_mailcow