ansibleguy.sw_mailcow

Logo MailCow

Rola Ansible - MailCow

Rola do wdrożenia MailCow dockerized na serwerze Linux.

Ta rola podąża za oficjalnymi instrukcjami instalacji.

Postaw mi kawę

Status testów Molecule Status testów YamlLint Status testów PyLint Status testów Ansible-Lint Ansible Galaxy

Logi Molecule: Krótki, Pełny

Testowane:

  • Debian 11

Instalacja

# najnowsza wersja
ansible-galaxy role install git+https://github.com/ansibleguy/sw_mailcow

# z galaxy
ansible-galaxy install ansibleguy.sw_mailcow

# lub do własnej ścieżki roli
ansible-galaxy install ansibleguy.sw_mailcow --roles-path ./roles

# instalacja zależności
ansible-galaxy install -r requirements.yml

Wymagania wstępne

Zobacz: Wymagania wstępne


Użycie

Chcesz prosty interfejs graficzny Ansible? Sprawdź moją Ansible WebUI

Konfiguracja

Zdefiniuj konfigurację według potrzeb:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'
  # na przykład: 'srv.template.ansibleguy.net' musi być ważną, publiczną nazwą DNS serwera

  # jeśli nie masz IPv6
  ipv6: false  

  nginx:  # skonfiguruj ustawienia serwera WWW => zobacz: https://github.com/ansibleguy/infra_nginx
    aliases: ['mail.template.ansibleguy.net']  # dodatkowe domeny do dodania do certyfikatu
    ssl:
      mode: 'letsencrypt'  # lub selfsigned/ca/snakeoil
      #  jeśli używasz 'selfsigned' lub 'ca':
      #    cert:
      #      cn: 'Serwer MailCow'
      #      org: 'AnsibleGuy'
      #      email: '[email protected]'
    letsencrypt:
      email: '[email protected]'

  config:  # dodaj nadpisy konfiguracji dla 'mailcow.conf'
    WEBAUTHN_ONLY_TRUSTED_VENDORS: 'y'

  auto_update:
    enable: true  # włącz automatyczne aktualizacje

  backup:
    retention_days: 60  # domyślnie = 14

Minimalny przykład:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'

Jeśli chcesz użyć wbudowanego (nie zarządzanego przez ansible) serwera WWW:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'
  # na przykład: 'srv.template.ansibleguy.net' musi być ważną, publiczną nazwą DNS serwera

  manage:
    webserver: false

  config:
    HTTP_PORT: 80
    HTTPS_PORT: 443
    # jeśli chcesz użyć wbudowanej obsługi letsencrypt
    SKIP_LETS_ENCRYPT: 'n'
    ACME_CONTACT: '[email protected]'
    ADDITIONAL_SAN: 'smtp.template.ansibleguy.net,mail.*'

Wykonanie

Uruchom playbook:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml

Dostępne są także przydatne tagi:

  • docker
  • webserver

Aby debugować błędy - możesz ustawić zmienną 'debug' podczas uruchamiania:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes

Funkcjonalność

  • Instalacja pakietów

    • Zależności Ansible (minimalne)
  • Konfiguracja

    • Usługa do uruchamiania kontenerów przy starcie: 'mailcow.service'

    • Domyślna konfiguracja:

      • Katalogi:
        • Podstawowy: '/var/lib/mailcow'
        • Dane: '/var/lib/docker/volumes' (nie może być zmienione przez rolę)
        • Kopia zapasowa: '/var/backups/mailcow'
    • Domyślne opcje:

    • Domyślne opcje wyłączone:


Informacje

  • Informacja: Rozważ użycie Bramy Mailowej dla zwiększenia bezpieczeństwa!

    Na przykład: Proxmox Mail Gateway

  • Informacja: Sprawdź informacje dotyczące rozwiązywania problemów: Rozwiązywanie problemów

  • Uwaga: ta rola obecnie wspiera tylko systemy oparte na debianie.

  • Uwaga: Większość funkcjonalności roli można włączyć lub wyłączyć.

    Aby zobaczyć wszystkie dostępne opcje - sprawdź domyślną konfigurację w głównym pliku domyślnym!

  • Ostrzeżenie: Nie każde ustawienie/zmienna, którą dostarczysz, będzie sprawdzane pod kątem poprawności. Zła konfiguracja może zepsuć rolę!

  • Informacja: Domyślne poświadczenia:

    Użytkownik: admin

    Hasło: moohoo

  • Informacja: Aby uzyskać więcej szczegółowych informacji - zapoznaj się z ładną dokumentacją dostarczoną przez MailCow!

  • Informacja: Jeśli instalacja nie powiedzie się po utworzeniu konfiguracji - musisz ręcznie usunąć plik konfiguracyjny (/var/lib/mailcow/mailcow.conf), aby rola wiedziała, że nie została jeszcze zainicjowana!

  • Ostrzeżenie: Automatyczne KOPIE ZAPASOWE są umieszczane na tym samym systemie i należy je skopiować do ZDALNEJ lokalizacji, aby były BEZPIECZNE!

O projekcie

Ansible role to deploy MailCow dockerized on a linux server

Zainstaluj
ansible-galaxy install ansibleguy.sw_mailcow
Licencja
other
Pobrania
1.9k
Właściciel
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg