ansibleguy.sw_mailcow
Rola Ansible - MailCow
Rola do wdrożenia MailCow dockerized na serwerze Linux.
Ta rola podąża za oficjalnymi instrukcjami instalacji.
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'
- Katalogi:
Domyślne opcje:
Docker => używając TEJ Roli
- Zależności
- Serwer
- Docker-compose
Nginx proxy na hoście Docker => używając TEJ Roli
Funkcje:
- SOGo Groupware
- Apache Solr
- ClamAV (skaner wirusów)
Włączone IPv6
Codzienna kopia zapasowa przy użyciu skryptu kopii zapasowej
Domyślne opcje wyłączone:
- Automatyczna aktualizacja przy użyciu skryptu aktualizacji (UWAGA: działa bardzo dobrze!)
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!
Ansible role to deploy MailCow dockerized on a linux server
ansible-galaxy install ansibleguy.sw_mailcow