sw_mailcow
Ansible Роль - MailCow
Роль для развертывания MailCow в Docker-контейнерах на сервере с Linux.
Эта роль следует официальным инструкциям по установке.
Логи 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'
- Каталоги:
Стандартные опции:
Docker => использование ЭТОЙ Роли
- Зависимости
- Сервер
- Docker-compose
Прокси nginx на хосте docker => использование ЭТОЙ Роли
Функции:
- SOGo Groupware
- Apache Solr
- ClamAV (антивирус)
Включение IPv6
Ежедневное резервное копирование с использованием скрипта для резервного копирования
Стандартные опции отключения:
- Автообновление с использованием скрипта обновления (ПРИМЕЧАНИЕ: на самом деле работает очень хорошо!)
Информация
Информация: Рассмотрите возможность использования Почтового шлюза для повышения безопасности!
Например: 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