ansibleguy.sw_mailcow

MailCow Logo

Ansible Rolle - MailCow

Rolle zur Bereitstellung von MailCow dockerized auf einem Linux-Server.

Diese Rolle folgt den offiziellen Installationsanweisungen.

Kauf mir einen Kaffee

Molecule Test Status YamlLint Test Status PyLint Test Status Ansible-Lint Test Status Ansible Galaxy

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'
    • Standard-Opt-ins:

    • 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!

Über das Projekt

Ansible role to deploy MailCow dockerized on a linux server

Installieren
ansible-galaxy install ansibleguy.sw_mailcow
GitHub Repository
Lizenz
other
Downloads
1.9k
Besitzer
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg