sw_mailcow

Логотип MailCow

Ansible Роль - MailCow

Роль для развертывания MailCow в Docker-контейнерах на сервере с Linux.

Эта роль следует официальным инструкциям по установке.

Угостите меня кофе

Статус теста Molecule Статус теста YamlLint Статус теста PyLint Статус теста Ansible-Lint Ansible Galaxy

Логи Molecule: Краткие, Полные

Проверено на:

  • Debian 11

Установка

# последняя версия
ansible-galaxy role install git+https://github.com/ansibleguy/sw_mailcow

# из galaxy
ansible-galaxy install ansibleguy.sw_mailcow

# или в пользовательскую директорию ролей
ansible-galaxy install ansibleguy.sw_mailcow --roles-path ./roles

# установка зависимостей
ansible-galaxy install -r requirements.yml

Предварительные требования

Смотрите: Предварительные требования


Использование

Хотите простую графическую интерфейс Ansible? Ознакомьтесь с моим Ansible WebUI

Конфигурация

Определите конфигурацию по мере необходимости:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'
  # например: 'srv.template.ansibleguy.net' должен быть действующим, общедоступным dns-именем сервера

  # если у вас нет IPv6
  ipv6: false  

  nginx:  # настройте параметры веб-сервера => смотрите: https://github.com/ansibleguy/infra_nginx
    aliases: ['mail.template.ansibleguy.net']  # дополнительные домены для добавления в сертификат
    ssl:
      mode: 'letsencrypt'  # или selfsigned/ca/snakeoil
      # если вы используете 'selfsigned' или 'ca':
      #    cert:
      #      cn: 'MailCow Server'
      #      org: 'AnsibleGuy'
      #      email: '[email protected]'
    letsencrypt:
      email: '[email protected]'

  config:  # добавьте переопределения конфигурации для 'mailcow.conf'
    WEBAUTHN_ONLY_TRUSTED_VENDORS: 'y'

  auto_update:
    enable: true  # включить автоматические обновления

  backup:
    retention_days: 60  # по умолчанию = 14

Минимальный пример:

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

Если вы хотите использовать встроенный (не управляемый ansible) веб-сервер:

mailcow:
  fqdn: 'srv.template.ansibleguy.net'
  # например: 'srv.template.ansibleguy.net' должен быть действующим, общедоступным dns-именем сервера

  manage:
    webserver: false

  config:
    HTTP_PORT: 80
    HTTPS_PORT: 443
    # если хотите использовать встроенную поддержку letsencrypt
    SKIP_LETS_ENCRYPT: 'n'
    ACME_CONTACT: '[email protected]'
    ADDITIONAL_SAN: 'smtp.template.ansibleguy.net,mail.*'

Выполнение

Запустите плейбук:

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

Также доступны полезные теги:

  • docker
  • webserver

Чтобы отладить ошибки - вы можете установить переменную 'debug' во время выполнения:

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

Функциональность

  • Установка пакетов

    • Зависимости Ansible (минимальные)
  • Конфигурация

    • Служба для запуска контейнеров при загрузке: 'mailcow.service'

    • Стандартная конфигурация:

      • Каталоги:
        • База: '/var/lib/mailcow'
        • Данные: '/var/lib/docker/volumes' (не может быть изменен ролью)
        • Резервная копия: '/var/backups/mailcow'
    • Стандартные опции:

    • Стандартные опции отключения:

      • Автообновление с использованием скрипта обновления (ПРИМЕЧАНИЕ: на самом деле работает очень хорошо!)

Информация

  • Информация: Рассмотрите возможность использования Почтового шлюза для повышения безопасности!

    Например: Proxmox Mail Gateway

  • Информация: Ознакомьтесь с информацией по устранению неполадок: Устранение неполадок

  • Примечание: эта роль в настоящее время поддерживает только системы на базе debian

  • Примечание: Большинство функций роли можно включать или отключать.

    Для всех доступных опций смотрите стандартную конфигурацию в главном файле по умолчанию!

  • Предупреждение: Не будет проверяться корректность каждой настройки/переменной, которую вы задаете. Плохая конфигурация может привести к сбоям роли!

  • Информация: Стандартные учетные данные:

    Пользователь: admin

    Пароль: moohoo

  • Информация: Для получения более подробной информации смотрите хорошую документацию, предоставленную MailCow!

  • Информация: Если установка не удается после создания конфигурации - вам нужно вручную удалить файл конфигурации (/var/lib/mailcow/mailcow.conf), чтобы роль знала, что она еще не инициализирована!

  • Предупреждение: Автоматические РЕЗЕРВНЫЕ КОПИИ хранятся на той же системе и должны быть скопированы в УДАЛЕННОЕ место для безопасности!

О проекте

Ansible role to deploy MailCow dockerized on a linux server

Установить
ansible-galaxy install ansibleguy/sw_mailcow
Лицензия
other
Загрузки
1606
Владелец
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg