ansibleguy.sw_mailcow

Logo 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.

Offrez-moi un café

Statut du test Molecule Statut du test YamlLint Statut du test PyLint Statut du test Ansible-Lint Ansible Galaxy

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'
    • 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 :

      • IPv6 activé

      • Sauvegarde quotidienne utilisant le script de sauvegarde

    • Options par défaut à désactiver :


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

À propos du projet

Ansible role to deploy MailCow dockerized on a linux server

Installer
ansible-galaxy install ansibleguy.sw_mailcow
Licence
other
Téléchargements
1.9k
Propriétaire
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg