ansibleguy.sw_mailcow
Rôle Ansible - MailCow
Rôle pour déployer MailCow dockerisé sur un serveur Linux.
Ce rôle suit les instructions d'installation officielles.
Logs Molecule : Court, Complet
Testé :
- Debian 11
Installation
# dernière version
ansible-galaxy role install git+https://github.com/ansibleguy/sw_mailcow
# depuis galaxy
ansible-galaxy install ansibleguy.sw_mailcow
# ou pour un chemin de rôle personnalisé
ansible-galaxy install ansibleguy.sw_mailcow --roles-path ./roles
# installer les dépendances
ansible-galaxy install -r requirements.yml
Prérequis
Voir : Prérequis
Utilisation
Vous voulez une interface graphique Ansible simple ? Découvrez mon Ansible WebUI
Configuration
Définissez la configuration selon vos besoins :
mailcow:
fqdn: 'srv.template.ansibleguy.net'
# par exemple : 'srv.template.ansibleguy.net' doit être un nom d'hôte dns valide et public du serveur
# si vous n'avez pas IPv6
ipv6: false
nginx: # configurez les paramètres du serveur web => voir : https://github.com/ansibleguy/infra_nginx
aliases: ['mail.template.ansibleguy.net'] # domaines supplémentaires à ajouter au certificat
ssl:
mode: 'letsencrypt' # ou auto-signé/ca/snakeoil
# si vous utilisez 'auto-signé' ou 'ca':
# cert:
# cn: 'Serveur MailCow'
# org: 'AnsibleGuy'
# email: '[email protected]'
letsencrypt:
email: '[email protected]'
config: # ajoutez des modifications de configuration pour 'mailcow.conf'
WEBAUTHN_ONLY_TRUSTED_VENDORS: 'y'
auto_update:
enable: true # activer les mises à jour automatiques
backup:
retention_days: 60 # par défaut = 14
Exemple de configuration minimum :
mailcow:
fqdn: 'srv.template.ansibleguy.net'
Si vous souhaitez utiliser le serveur web intégré (non géré par ansible) :
mailcow:
fqdn: 'srv.template.ansibleguy.net'
# par exemple : 'srv.template.ansibleguy.net' doit être un nom d'hôte dns valide et public du serveur
manage:
webserver: false
config:
HTTP_PORT: 80
HTTPS_PORT: 443
# si vous souhaitez utiliser le support intégré de letsencrypt
SKIP_LETS_ENCRYPT: 'n'
ACME_CONTACT: '[email protected]'
ADDITIONAL_SAN: 'smtp.template.ansibleguy.net,mail.*'
Exécution
Exécutez le playbook :
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml
Il y a également certains tags utiles disponibles :
- docker
- webserver
Pour déboguer les erreurs - vous pouvez définir la variable 'debug' à l'exécution :
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes
Fonctionnalités
Installation de paquet
- Dépendances Ansible (minimales)
Configuration
Service pour démarrer les conteneurs au démarrage : 'mailcow.service'
Configuration par défaut :
- Répertoires :
- Base : '/var/lib/mailcow'
- Données : '/var/lib/docker/volumes' (ne peut pas être changé par le rôle)
- Sauvegarde : '/var/backups/mailcow'
- Répertoires :
Options par défaut :
Docker => utilisant CE rôle
- Dépendances
- Serveur
- Docker-compose
Proxy Nginx sur l'hôte docker => utilisant CE rôle
Fonctionnalités :
- SOGo Groupware
- Apache Solr
- ClamAV (scanner de virus)
IPv6 activé
Sauvegarde quotidienne utilisant le script de sauvegarde
Options par défaut à désactiver :
- Mise à jour automatique utilisant le script de mise à jour (REMARQUE : fonctionne très bien !)
Infos
Info : Envisagez d'utiliser une Passerelle de Mail pour plus de sécurité !
Par exemple : Proxmox Mail Gateway
Info : Consultez les informations de dépannage : Dépannage
Remarque : ce rôle ne prend actuellement en charge que les systèmes basés sur Debian
Remarque : La plupart des fonctionnalités du rôle peuvent être activées ou désactivées.
Pour toutes les options disponibles - voir la configuration par défaut située dans le fichier de configuration principal!
Avertissement : Chaque paramètre/variable que vous fournissez ne sera pas vérifié pour sa validité. Une mauvaise configuration pourrait casser le rôle!
Info : Identifiants par défaut :
Utilisateur : admin
Mot de passe : moohoo
Info : Pour plus d'informations détaillées - consultez la documentation agréable fournie par MailCow!
Info : Si la configuration échoue après sa création - vous devez supprimer le fichier de configuration (/var/lib/mailcow/mailcow.conf) manuellement, afin que le rôle sache qu'il n'est pas encore initialisé !
Avertissement : Les SAUVEGARDES automatiques sont placées sur le même système et doivent être copiées dans un emplacement DISTANT pour être en sécurité !
Ansible role to deploy MailCow dockerized on a linux server
ansible-galaxy install ansibleguy.sw_mailcow