ansibleguy.sw_mailcow

Logo de MailCow

Role de Ansible - MailCow

Rol para desplegar MailCow dockerizado en un servidor linux.

Este rol sigue las instrucciones de instalación oficiales.

Invítame un café

Estado de prueba de Molecule Estado de prueba de YamlLint Estado de prueba de PyLint Estado de prueba de Ansible-Lint Ansible Galaxy

Registros de Molecule: Corto, Completo

Probado:

  • Debian 11

Instalación

# última versión
ansible-galaxy role install git+https://github.com/ansibleguy/sw_mailcow

# desde galaxy
ansible-galaxy install ansibleguy.sw_mailcow

# o a una ruta de rol personalizada
ansible-galaxy install ansibleguy.sw_mailcow --roles-path ./roles

# instalar dependencias
ansible-galaxy install -r requirements.yml

Requisitos previos

Ver: Requisitos previos


Uso

¿Quieres una GUI simple de Ansible? Consulta mi Ansible WebUI

Configuración

Define la configuración según sea necesario:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'
  # por ejemplo: 'srv.template.ansibleguy.net' debe ser un nombre válido y público de DNS del servidor

  # si no tienes IPv6
  ipv6: false  

  nginx:  # configura los ajustes del servidor web => ver: https://github.com/ansibleguy/infra_nginx
    aliases: ['mail.template.ansibleguy.net']  # dominios adicionales para agregar al certificado
    ssl:
      mode: 'letsencrypt'  # o selfsigned/ca/snakeoil
      #  si usas 'selfsigned' o 'ca':
      #    cert:
      #      cn: 'Servidor MailCow'
      #      org: 'AnsibleGuy'
      #      email: '[email protected]'
    letsencrypt:
      email: '[email protected]'

  config:  # agrega configuraciones personalizadas para 'mailcow.conf'
    WEBAUTHN_ONLY_TRUSTED_VENDORS: 'y'

  auto_update:
    enable: true  # habilita actualizaciones automáticas

  backup:
    retention_days: 60  # predeterminado = 14

Ejemplo mínimo:

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

Si deseas usar el servidor web incorporado (no administrado por ansible):

mailcow:
  fqdn: 'srv.template.ansibleguy.net'
  # por ejemplo: 'srv.template.ansibleguy.net' debe ser un nombre válido y público de DNS del servidor

  manage:
    webserver: false

  config:
    HTTP_PORT: 80
    HTTPS_PORT: 443
    # si deseas usar el soporte incorporado de letsencrypt
    SKIP_LETS_ENCRYPT: 'n'
    ACME_CONTACT: '[email protected]'
    ADDITIONAL_SAN: 'smtp.template.ansibleguy.net,mail.*'

Ejecución

Ejecuta el playbook:

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

También hay algunas etiquetas útiles disponibles:

  • docker
  • webserver

Para depurar errores, puedes establecer la variable 'debug' en tiempo de ejecución:

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

Funcionalidad

  • Instalación de paquetes

    • Dependencias de Ansible (mínimas)
  • Configuración

    • Servicio para iniciar contenedores al iniciar: 'mailcow.service'

    • Configuración predeterminada:

      • Directorios:
        • Base: '/var/lib/mailcow'
        • Datos: '/var/lib/docker/volumes' (no se puede cambiar por el rol)
        • Copia de seguridad: '/var/backups/mailcow'
    • Opciones predeterminadas:

    • Opciones predeterminadas desactivadas:


Información

  • Información: Considera usar un Gateway de Correo para mayor seguridad!

    Por ejemplo: Proxmox Mail Gateway

  • Información: Consulta la información de solución de problemas: Solución de problemas

  • Nota: este rol actualmente solo es compatible con sistemas basados en debian

  • Nota: La mayoría de la funcionalidad del rol se puede habilitar o deshabilitar.

    Para todas las opciones disponibles, consulta la configuración predeterminada ubicada en el archivo de configuraciones principales!

  • Advertencia: No se verificará la validez de cada configuración variable que proporciones. Una mala configuración podría romper el rol.

  • Información: Credenciales predeterminadas:

    Usuario: admin

    Contraseña: moohoo

  • Información: Para más información detallada, consulta la bonita documentación proporcionada por MailCow.

  • Información: Si la configuración falla después de crear el archivo de configuración, deberás eliminar el archivo de configuración (/var/lib/mailcow/mailcow.conf) manualmente, para que el rol sepa que no se ha inicializado aún.

  • Advertencia: Las COPIAS DE SEGURIDAD automáticas se colocan en el mismo sistema y deben copiarse a una ubicación REMOTA para estar SEGURAS.

Acerca del proyecto

Ansible role to deploy MailCow dockerized on a linux server

Instalar
ansible-galaxy install ansibleguy.sw_mailcow
Licencia
other
Descargas
1.9k
Propietario
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg