Плагин: почта (docker-mailserver)
Ящики, алиасы и DKIM почтового сервера docker-mailserver из хаба, а записи DNS домена (MX, SPF, DKIM, DMARC) — в подключённый DNS-плагин (Technitium, Cloudflare) одной кнопкой. Общий принцип плагинов — Плагины.
Почтовый сервер
Пример конвейера «Конвейеры» → «Примеры» → Почта: docker-mailserver (Postfix, Dovecot, Rspamd, fail2ban; первый ящик postmaster@ДОМЕН — пароль в .env конвейера). До выкладки:
- Сертификат для имени сервера (
MAIL_HOSTNAME) — «Сертификаты» хоста; контейнер читает/etc/letsencryptтолько для чтения. - Порты 25, 465, 587, 993 открыты в файрволе; исходящий 25 у многих хостингов закрыт — открывают по заявке.
- PTR внешнего адреса — на имя сервера (ставит хостинг).
Подробно — README примера.
Поставить плагин
Своего API у docker-mailserver нет: плагин зовёт setup в контейнере через docker exec. Поэтому он ставится на хост почты, и служба работает в группе docker — это права root на хосте; хаб предупредит до установки.
«О системе» → «Плагины» → «Установить на хост» → Почта (docker-mailserver) → хост почты → имя сервера и внешний IPv4 (MAIL_PUBLIC_IP: A-запись и SPF; пусто — без A). Служба nkt-plugin-mail, 127.0.0.1:9200.
Что умеет
- Домены — число ящиков, есть ли ключ DKIM; переход к ящикам и записям DNS.
- Ящики — добавить, сменить пароль, удалить. Пароль вводится только в поле формы (скрытое): в контейнер он уходит переменной окружения, не в аргументах команды, не в журнале действий и не в параметрах задания.
- Алиасы — добавить, удалить.
- Ключ DKIM — Rspamd, 2048 бит; после создания перезапустите контейнер
mailserver, чтобы Rspamd начал подписывать. - Записи DNS домена → «Поставить через DNS-плагин»: окно с записями, «Сверить» (что изменится) и «Применить». Хаб помнит поставленное (владелец
plugin:mail:domain:ДОМЕН): чужие значения у тех же имён не трогаются, убранная запись удаляется. Нужны права администратора или токен с действием «плагин mail». - Сценарии:
mail dkim ДОМЕН,mail alias add|rm АЛИАС КУДА,mail rm АДРЕС,mail records ДОМЕН— без паролей. - MCP:
mail_domains,mail_mailboxes,mail_aliases,mail_dns,mail_mailbox_add,mail_mailbox_password,mail_mailbox_delete,mail_alias_add,mail_alias_delete,mail_dkim_generate.