Развертывание почтовой платформы MGate
Пошаговое руководство по вводу сервера в эксплуатацию за 5 минут. Поддерживаются Docker Compose и Kubernetes (Helm); образ All-in-One — скоро.
Чеклист готовности сервера (Pre-flight Checklist)
Перед установкой проверьте соответствие хоста требованиям для стабильной отправки почты:
nc -zv -w 5 smtp.gmail.com 25.
mail.company.ru).
Аппаратные требования к серверу
Образы собираются только для архитектуры linux/amd64 (x86_64); на arm64 они не запустятся.
| Профиль нагрузки | Процессор | Оперативная память | Накопитель | Рекомендуемая топология |
|---|---|---|---|---|
| Минимальный (без ClamAV) | 2 vCPU | 2 GB RAM | 20 GB SSD | Docker Compose (Тестирование, до 20 ящиков) |
| Стандартный (полный стек) | 4 vCPU | 8 GB RAM | 100 GB NVMe | Docker Compose (Production, до 500 ящиков) |
| Высоконагруженный | 8–16+ vCPU | 16–32+ GB RAM | 500+ GB NVMe / S3 | Kubernetes Кластер (Helm-чарт, 1000+ ящиков) |
Автоматическая установка
Запустите на сервере Linux x86_64 с правами root. Установщик спросит почтовый домен, имя сервера и e-mail администратора, проверит ресурсы, порты и подсети, установит зависимости и Docker на Debian/Ubuntu, скачает релиз в /opt/mgate и развернёт весь стек контейнеров. После проверки готовности он добавит ваш домен в MGate.
curl -fsSL https://raw.githubusercontent.com/mgate-server/mgate/main/scripts/install.sh -o install-mgate.sh && sudo bash install-mgate.shСкачать скрипт install.sh · Посмотреть исходный код
Если curl отсутствует: sudo apt-get update && sudo apt-get install -y curl ca-certificates. Параметры: bash install-mgate.sh --help. Для сервера с 2–4 GB RAM добавьте --without-clamav; полный стек требует минимум 4 GB. Нужны 2 vCPU и 20 GiB свободного места. На других Linux установщик подскажет, как поставить недостающие зависимости вручную.
DNS, PTR и доступность портов у провайдера настраиваются вручную — установщик покажет подсказки. Пароль администратора находится в MGATE_ADMIN_PASSWORD файла /opt/mgate/.env (доступен root). Повторный запуск сохраняет конфигурацию и данные. По умолчанию используется самоподписанный TLS-сертификат; собственный загрузите в разделе «Сертификаты».
Установка через Docker Compose
Шаг 1. Клонирование репозитория
Склонируйте официальный репозиторий развертывания (github.com/mgate-server/mgate) и перейдите на последний релиз (список релизов):
git clone https://github.com/mgate-server/mgate.git && cd mgate
git checkout "$(git tag --sort=-v:refname | head -n 1)"Шаг 2. Инициализация и генерация секретов
Сгенерируйте файл .env с уникальными криптографическими паролями:
make initШаг 3. Настройка FQDN и администратора
Укажите домен вашего почтового сервера в файле .env. MGATE_ADMIN_EMAIL — e-mail первого администратора:
MGATE_HOSTNAME=mail.company.ru
[email protected]Шаг 4. Запуск контейнеров
Образы загружаются из ghcr.io/mgate-server/* (публичные, вход в реестр не требуется; список — на странице пакетов организации). Загрузите образы, запустите сервисы и проверьте их статус:
docker compose pull
docker compose up -d
docker compose psШаг 5. Получение первого пароля администратора
Если MGATE_ADMIN_PASSWORD в .env не задан, пароль генерируется при первой инициализации базы и выводится в лог один раз — сохраните его сразу:
docker compose logs migrate | grep -A2 'initial superadmin'
Откройте в браузере https://mail.company.ru/admin и войдите под администратором. По умолчанию сервер отдаёт самоподписанный сертификат, поэтому браузер покажет предупреждение; для рабочей эксплуатации загрузите собственный сертификат в разделе «Сертификаты» (автоматический выпуск Let's Encrypt — в разработке). Если пароль утерян, задайте новый:
docker compose exec api mgate admin reset-password <MGATE_ADMIN_EMAIL>
Развертывание в Kubernetes (Helm)
Для работы в кластере Kubernetes доступен официальный Helm-чарт в каталоге deploy/helm/mgate репозитория (выполняйте из клона на последнем релизе, см. шаг 1):
cd mgate/deploy/helm/mgate
helm install mgate . \
--namespace mgate --create-namespace \
--set config.hostname=mail.company.ru \
--set [email protected]
Диагностика проблем при развертывании
Исходящая почта задерживается
Причина: Блокировка 25-го порта на уровне виртуального коммутатора хостинг-провайдера.
Решение: Создайте запрос в тикет-систему хостинга для снятия блокировки SMTP 25.
Браузер предупреждает о сертификате
Причина: По умолчанию отдаётся самоподписанный сертификат; автоматический выпуск Let's Encrypt пока в разработке.
Решение: Загрузите собственный сертификат (цепочка и ключ в PEM) в админке: «Сертификаты» → «Загрузить сертификат».