Phoenix Mailдокументация

Установка в Docker

Запасной способ установки. Почта ставится в контейнер, а не прямо в систему. Подходит, если на сервере другая ОС или не хочется менять его настройки. Основной способ — обычная установка.

Что нужно

Имя почтового сервера, например mail.example.ru, должно указывать на сервер (A-запись), как и при обычной установке.

Запуск

curl -fsSL https://0e5.ru/install-docker.sh -o install-docker.sh
sh install-docker.sh

Скрипт спросит имя сервера, почтовый домен, первый ящик и нужные компоненты. Значение по умолчанию — в квадратных скобках, его принимает Enter.

Дальше он поставит Docker (если его нет), соберёт образ и запустит контейнер mailnode. Сборка занимает несколько минут.

Где отчёт с паролями

Внутри контейнера установка проходит та же, что и на сервере. Пароли панели и первого ящика, а также записи DNS не выводятся в журнал контейнера. Они лежат в отчёте, доступном только root:

docker exec mailnode cat /opt/mailnode/first-install.log

Сохраните пароли и добавьте DNS-записи у регистратора. Следить за ходом установки можно так: docker logs -f mailnode.

Проверка

docker exec mailnode mailnode doctor

Откройте панель по адресу из отчёта, например https://mail.example.ru/panel.

Без вопросов

Ответы передаются флагами, те же, что у обычной установки:

sh install-docker.sh --domain mail.example.ru --mail-domain example.ru \
  --mailbox ivan@example.ru --with-calendar --with-webmail --no-antivirus

Ответы сохраняются в файл /opt/mailnode-docker/mailnode.env (доступ только root). Повторный запуск sh install-docker.sh их не спрашивает: так обновляется образ, а данные остаются.

Остановка и данные

Безопасность

Контейнер запускается с правами privileged, потому что внутри работает systemd и нужны порты сервера. Это значит, что контейнер имеет почти те же права, что и root на сервере. Ставьте его только на сервер, которому доверяете, так же как при обычной установке.

Чем отличается от обычной установки

Следующий шаг — первая настройка.