Skip to content

Releases

MGate 2026.10.4

Choose a tag to compare

@Ivan08 Ivan08 released this 24 Oct 10:12

Added

  • Обновление существующей установки одной командой, включая старые версии без обновлятора: автоматическое определение каталога, загрузка обновлятора стабильного релиза и подключение обновлений из панели на хостах с systemd.
  • Установщик Docker Compose: подготовка сервера, настройка домена и DNS, генерация секретов и запуск почтового стека.
  • Обновление сервера из административной панели и командой make update: проверка новой версии, резервная копия базы и настроек, проверка состояния после обновления и восстановление при сбое.
  • Настройка двухфакторной аутентификации в личном кабинете: подключение TOTP, резервные коды и отключение второго фактора.
  • Диагностика сервера через CLI и синхронизация почтовых фильтров Sieve.
  • Pro-модули: расширенная статистика, управление резервными копиями, фоновая проверка DNS и управление организациями.

Changed

  • Управление сертификатами: автоматический выпуск и продление ACME-сертификатов, публикация сертификатов в почтовых сервисах и обновлённая страница сертификатов в панели.
  • Настройки оформления применяются при загрузке интерфейса.
  • Адрес сервера лицензий поставляется в сборке и больше не переопределяется через окружение, TOML или Helm.

Fixed

  • Обработка входа с TOTP и настройка необязательной двухфакторной аутентификации.
  • Подготовка секретов и сетей при установке, конфигурация локального DNS-резолвера и проверки установщика.

Образы

Публичные, docker pull без авторизации, платформа linux/amd64.

Образ Digest
ghcr.io/mgate-server/mgate-agent:2026.10.4 sha256:5ca0f7d684ff2db9418089b54ba29d1e9372f6c8508b272e82f125818a4d5e79
ghcr.io/mgate-server/mgate:2026.10.4 sha256:19afe6c9f26d119bf9fc112d270be221430174808ce8712868c37b99065983b9
ghcr.io/mgate-server/web:2026.10.4 sha256:427078d39c492f4e4f6b23f5350c153d076cee973f5778d6cd4b2420737a1efb
ghcr.io/mgate-server/postfix:2026.10.4 sha256:baed077348d2c5540667e02610dd9e648395adb48f1c7c4113c181b567120220
ghcr.io/mgate-server/dovecot:2026.10.4 sha256:fe673a6b0dd9e57a93d0a9db13b5fb327b71aed986964158bbb7d37050fbc255
ghcr.io/mgate-server/rspamd:2026.10.4 sha256:f1007e487573af8ffb0168dead2a9934d275ea699b9eb7f7f2206e544450bf25
ghcr.io/mgate-server/unbound:2026.10.4 sha256:18d394dc575ed8be3fe77edd59129f68b010b2e452347fadc51048e585140f89
ghcr.io/mgate-server/traefik:2026.10.4 sha256:637d4da936f03adb0fa43be0c5fcb13fa9ce42322136f0838e0a8f844cb261d2
ghcr.io/mgate-server/backup:2026.10.4 sha256:67598c5047970b38c5afc875e8563e0f7bee636bd4c96ff5572bcc9e4c0c0f2a
ghcr.io/mgate-server/firewall:2026.10.4 sha256:c2fd258e466bde4dc81dea26c40fffbcbf893cfb207e6bba9625b6506f68b607

Обновление существующей установки

Выполните на сервере одну команду, в том числе для первого перехода со старого релиза без обновлятора:

curl -fsSL https://raw.githubusercontent.com/mgate-server/mgate/main/scripts/update.sh | sudo bash -s -- --yes

Каталог установки определяется через Docker. Перед обновлением создаётся копия базы и настроек. На серверах с systemd после успеха подключаются обновления из панели. Для нестандартного каталога добавьте --dir /srv/mgate.

Ручная установка

git clone https://github.com/mgate-server/mgate.git && cd mgate && git checkout v2026.10.4
make init            # .env и секреты; при обновлении добавляет новые переменные
# в .env: MGATE_VERSION=2026.10.4
docker compose pull && docker compose up -d

MGate 2026.10.2

Choose a tag to compare

@Ivan08 Ivan08 released this 16 Oct 10:43

Added

  • Двухфакторная аутентификация: проверка второго фактора TOTP (2FA) при авторизации в системе.
  • Сетевой экран и динамическая фильтрация: динамическая синхронизация правил и банов nftables через сервис агента, поддержка наборов адресов IPv6.
  • Управление TLS-сертификатами: автоматический выпуск и продление сертификатов ACME (Let's Encrypt) через фоновые задачи и API.
  • Фоновые задачи: механизм распределённых блокировок (advisory locks), автоматический мониторинг очередей доставки писем, проверка DNS-записей и регламентное обслуживание секций БД.
  • Веб-почта: действие «Не спам» (not-spam) с автоматическим дообучением спам-фильтра Rspamd (learn-ham / learn-spam) при перемещении писем между папками.
  • Мониторинг и Observability: преднастроенные правила алертинга Prometheus и обзорный дашборд MGate Overview для Grafana.
  • Резервное копирование: автоматизированные сценарии верификации целостности репозитория резервных копий Restic и структуры дампов PostgreSQL.

Fixed

  • Postfix: снятие ограничений anvil на авторизацию и одновременные подключения на порту submission для корректной работы клиентов в сетях с трансляцией адресов (NAT).

Образы

Публичные, docker pull без авторизации, платформа linux/amd64.

Образ Digest
ghcr.io/mgate-server/mgate-agent:2026.10.2 sha256:e95acbb2bd97b45531e3758e3856d76c6ef73e1139e80deb9229a38eaa6235f7
ghcr.io/mgate-server/mgate:2026.10.2 sha256:b1119b9ee9622b1c745306bf00d63f9411322c55ab426e9edfc71568c15414dd
ghcr.io/mgate-server/web:2026.10.2 sha256:5b02487143eb06e00463f675403a30b30ee80163d64d4507795491369445e8ba
ghcr.io/mgate-server/postfix:2026.10.2 sha256:c5e3a526c5c01d7343e3775a744e3475f7421ab4c55c470459aa14ea1a6e20e4
ghcr.io/mgate-server/dovecot:2026.10.2 sha256:57b2c33ee4372f4e5ace12dde37b464858402e30b9a377df2a3b4ee59866258c
ghcr.io/mgate-server/rspamd:2026.10.2 sha256:69990e0efc05a9f0b5452b0cb7d13ebf3464b7b50f3cb86cbc46c9dc915fd341
ghcr.io/mgate-server/unbound:2026.10.2 sha256:62f80a47764930890121a68fe3baed171a9eca251380e06834288ecaa372cb80
ghcr.io/mgate-server/traefik:2026.10.2 sha256:afd9a3400168eeedf08800d2338670bb6a1335f97a39e45f9478ef0f9e6348e1
ghcr.io/mgate-server/backup:2026.10.2 sha256:10113f44eb3efcaaee8b4513828ce25b8e793f99bbea986e7699a8d3fd2e068d
ghcr.io/mgate-server/firewall:2026.10.2 sha256:053db6798f61b17f16ae45ee99ccd60f3b7a7adfafb91446c9c2296ef3434c1f

Установка и обновление

git clone https://github.com/mgate-server/mgate.git && cd mgate && git checkout v2026.10.2
make init            # .env и секреты; при обновлении добавляет новые переменные
# в .env: MGATE_VERSION=2026.10.2
docker compose pull && docker compose up -d

MGate 2026.10.1

Choose a tag to compare

@Ivan08 Ivan08 released this 09 Oct 11:42

Первый публичный релиз.

Added

  • Почтовое ядро: Postfix, Dovecot 2.4 (IMAP/POP3/LMTP/ManageSieve), Rspamd (антиспам,
    DKIM/SPF/DMARC/ARC), ClamAV, локальный DNSSEC-резолвер Unbound.
  • TLS: по умолчанию отдаётся самоподписанный сертификат; собственный сертификат (цепочка и
    ключ в PEM) загружается и заменяется вручную в админке («Сертификаты»), причина отказа при
    загрузке показывается в окне. Автоматический выпуск Let's Encrypt — в разработке (см. Known
    limitations).
  • IMAP-миграция: перенос ящиков с Яндекс 360, Google Workspace, Mail.ru и любых IMAP-серверов
    — пакетно администратором («Импорт и миграция») и самостоятельно пользователем; выполняется в
    фоне средствами Dovecot.
  • Единый веб-интерфейс (SPA): панель администратора, личный кабинет пользователя и веб-почта
    (/mail); мастер DNS с проверкой записей по кнопке «Проверить DNS», очередь писем, живые
    логи, статистика.
  • Веб-почта (/mail) поверх IMAP/SMTP самого сервера: папки (создание, переименование,
    удаление, перемещение писем, «в спам»), списки с поиском и цепочками, чтение с безопасным
    показом HTML (внешние изображения скрыты до нажатия), черновики с автосохранением, ответ и
    пересылка, вложения, контакты (импорт и экспорт CSV/vCard), подписи, настройки, обновления в
    реальном времени. Доступ — только по сессии почтового ящика; веб-почта работает от имени
    пользователя через короткоживущие учётные данные и внутренние порты, которые не публикуются.
  • Безопасность входа: ограничение подбора пароля для веб-входа, смены пароля и
    IMAP/POP3/SMTP (общий счётчик, без возможности заблокировать пользователю вход с его обычного
    адреса); cookie сессии с префиксом __Host- и защитой CSRF; отключение ящика, домена или
    администратора сразу завершает их сессии, включая открытые IMAP-соединения; смена пароля
    действует немедленно. Закрытые ключи DKIM хранятся в базе в зашифрованном виде.
  • Домены и доступ: администраторы доменов (Domain Admin) и квоты домена (число ящиков, объём)
    входят в Community.
  • DKIM: ключ RSA-2048 генерируется при создании домена; ротация выполняется вручную кнопкой
    «Ротировать DKIM» (см. docs/OPERATIONS.md).
  • DMARC: XML-отчёты загружаются в панель вручную (автоматического приёма нет), сводка за 7 дней;
    полные IP источников, история до 90 дней и скачивание исходных XML — в Pro (DMARC
    Intelligence, входит в любую Pro-лицензию, отдельного переключателя нет). Имена хостов и география источников не определяются.
  • Разовая «Автонастройка» DNS (кнопка в мастере домена): Cloudflare и Selectel; доступна во
    всех редакциях. Фоновая сверка записей (Pro) — в разработке.
  • Редакции Community (1 домен, бесплатно) и Pro (подписка); активация по ссылке или коду —
    см. docs/LICENSING.md. Работающие Pro-модули: неограниченное число
    доменов, white-label (название продукта и логотип в шапке интерфейса и заголовке вкладки;
    favicon, акцентный цвет, ссылка поддержки и футер сохраняются, но пока не отображаются),
    DMARC Intelligence. Состав редакций и планы — docs/ROADMAP.md.
  • Первый администратор: если MGATE_ADMIN_PASSWORD пуст, пароль генерируется и один раз
    выводится в лог сервиса migrate; сброс — docker compose exec api mgate admin reset-password <email>.
  • Развёртывание: Docker Compose, Helm-чарт (deploy/helm/mgate), резервное копирование
    (restic + pg_dump), сетевой экран хоста (nftables, профиль firewall).
  • Образы в GitHub Container Registry: ghcr.io/mgate-server/* (mgate, mgate-agent, web,
    postfix, dovecot, rspamd, unbound, traefik, backup, firewall); публичные,
    скачиваются без авторизации; архитектура — linux/amd64. Все образы содержат стандартные
    OCI-метки (org.opencontainers.image.*).
  • Календарное версионирование CalVer YYYY.M.N: единая версия для всех образов, Helm-чарта и
    backend. Теги образов: 2026.10.1 (неизменяемый), 2026.10 (плавающий — последняя сборка
    месяца), latest; git-теги — v2026.10.1. Файл VERSION в корне репозитория.
  • Unbound: каталог расширений /etc/unbound/conf.d/*.conf — например, чтобы направить запросы
    приватной зоны на внутренний резолвер (см. docker/unbound/README.md).
  • Ссылки на тарифы и портал вендора в интерфейсе настраиваются переменными
    MGATE_PRICING_URL и MGATE_VENDOR_PORTAL_URL (по умолчанию пусто — ссылки скрыты).
  • Прокси для исходящих соединений (HTTPS_PROXY, HTTP_PROXY, NO_PROXY в .env) передаются
    сервисам api и worker; make init сохраняет в .env собственные переменные оператора.
  • Документация: установка, конфигурация, DNS, резервное копирование, эксплуатация, версии и
    обновление (см. docs/README.md).

Known limitations

  • Двухфакторная аутентификация (TOTP) в разработке: вход выполняется только по паролю,
    одноразовый код не запрашивается и не проверяется; подключение 2FA в личном кабинете и
    принудительная 2FA для ящиков отключены в интерфейсе.
  • Автоматический выпуск и продление сертификатов (Let's Encrypt / ZeroSSL) в разработке:
    по умолчанию отдаётся самоподписанный сертификат, собственный сертификат загружается и
    продлевается вручную; переменные MGATE_ACME_* ничего не выпускают.
  • Pro-модули в разработке (API отвечает 501 not_implemented, в интерфейсе помечены «В
    разработке»): Backup Center, Advanced Dashboard, расширенная мультиарендность (Multi-tenant
    RBAC), фоновая сверка DNS-Автопилота, приоритетные обновления.
  • Отказоустойчивость: Dovecot — только active/passive (один экземпляр на хранилище vmail;
    Director в Dovecot 2.4 CE отсутствует); Valkey/Redis — один endpoint, Redis Cluster и
    Sentinel не поддерживаются. См. docs/HA.md.
  • Автонастройка DNS поддерживает только Cloudflare и Selectel.
  • Политика MTA-STS публикуется в режиме testing; проверка DNS выполняется по запросу, без
    фоновой задачи; ротация DKIM — ручная.
  • SRS для пересылок и предупреждения о приближении к квоте ящика не реализованы.
  • Веб-почта: по умолчанию один экземпляр сервиса; для нескольких реплик в Kubernetes нужна
    привязка сессии на Ingress (загружаемые вложения хранятся локально в реплике). Для писем
    больше MGATE_WEBMAIL_MAX_RENDER_BYTES показываются только заголовки, скачивание — 413.

Образы

Публичные, docker pull без авторизации, платформа linux/amd64.

Образ Digest
ghcr.io/mgate-server/mgate-agent:2026.10.1 sha256:208e44be092e1c7d7e843d158a8fcd178ac89903226eccb9d30692c1cdcaf3b3
ghcr.io/mgate-server/mgate:2026.10.1 sha256:906f45c9017dad67ffea1f86225a690d1f6bc50ce8e286bae86fe19a872fa7a0
ghcr.io/mgate-server/web:2026.10.1 sha256:1bfc053543874ac13146130bcd753d3b62ef4a8d25909aed0f209682e39c1d1a
ghcr.io/mgate-server/postfix:2026.10.1 sha256:30efc80beb0a7e0b527d8a6215439014081c7c09b2075aa0a3c6873459ae3f49
ghcr.io/mgate-server/dovecot:2026.10.1 sha256:60022eb8668d50e2eb93b5d08e339d813d77f65f686f346d74c6433ee3d7bcf4
ghcr.io/mgate-server/rspamd:2026.10.1 sha256:68cfdd6410a46858bf9f15f10446fb442d01573057e61e8c6c941016a05fd236
ghcr.io/mgate-server/unbound:2026.10.1 sha256:81881b32f90428490cd8aa2d0b093d4ad8e4f40f5f9065df8958dd0fda9fce07
ghcr.io/mgate-server/traefik:2026.10.1 sha256:cc7270ad272e944c11fcb15f6a8e95228e0a15c848b63ddccb24bd4afdb9dbbc
ghcr.io/mgate-server/backup:2026.10.1 sha256:2d5e9184faad3b112b68a28ef5484f0cde98aa412d5d39ed767c72fee6ea9057
ghcr.io/mgate-server/firewall:2026.10.1 sha256:5f038d5691728b43d4183be2e0c0e552b3ee03b3098c8a84b1f9c636c29a039b

Установка и обновление

git clone https://github.com/mgate-server/mgate.git && cd mgate && git checkout v2026.10.1
make init            # .env и секреты; при обновлении добавляет новые переменные
# в .env: MGATE_VERSION=2026.10.1
docker compose pull && docker compose up -d