Добавить в корзинуПозвонить
Найти в Дзене
Тюнинг Админа

Почтовый сервер для компании на Ubuntu 26.04LTS + MailCow

Всем привет, сегодня я на примере одной организации опишу вам процесс разворачивания с нуля почтового сервера MailCow и мною будут выполнены следующие задачи: МАТЕРИАЛ В СТАДИИ РЕДАКТИРОВАНИЯ Mailcow – это готовый почтовый сервер, собран на основе docker контейнеров, что позволяет быстро и без проблем с настройкой развернуть свое решение в организации. Он очень удобный в администрировании, с красивым современным веб-интерфейсом. В основе решения используется Postfix, Dovecot и множество других компонентов, а в качестве почтового web клиента используется SOGo. и многое другое Минимальные системные требования: Процессор: 1 ядро от 1ГГц Оперативная память: от 3ГБ Накопитель: от 20ГБ Параметры виртуальной машины: Потребление ресурсов в режиме простоя: Для компании со штатом сотрудников 160+ человек и почтовой базой 4ТБ+,
потребовался собственный надежный почтовый сервер с низкими системными требованиями и следующими возможностями: Прежде всего пишем письмо интернет провайдеру, в котором
Оглавление

Всем привет, сегодня я на примере одной организации опишу вам процесс разворачивания с нуля почтового сервера MailCow и мною будут выполнены следующие задачи:

  • Предварительная настройка операционной системы Ubuntu 26.04LTS
  • Добавление локальных и провайдерских DNS записей
  • Проброс портов на маршрутизаторе компании
  • Установку и настройку почтового сервера MailCow
  • Миграция почты с Mail.ru

МАТЕРИАЛ В СТАДИИ РЕДАКТИРОВАНИЯ

Mailcow – это готовый почтовый сервер, собран на основе docker контейнеров, что позволяет быстро и без проблем с настройкой развернуть свое решение в организации. Он очень удобный в администрировании, с красивым современным веб-интерфейсом. В основе решения используется Postfix, Dovecot и множество других компонентов, а в качестве почтового web клиента используется SOGo.

Содержание статьи

  • Возможности решения
  • Системные требования
  • Задачи компании
  • План мероприятий
  • Настройка DNS у провайдера
  • Настройка локальных DNS
  • Проброс портов на маршрутизаторе
  • Подготовка сервера
  • Установка Docker
  • Установка mailcow
  • Настройка почтового сервера и демонстрация административного интерфейса
  • Добавление домена
  • Добавление дополнительных DNS записей
  • Сертификаты Let's Encrypt
  • Создание почтовых ящиков
  • Демонстрация пользовательского интерфейса
  • Адресная книга
  • Тестирование работоспособности
  • Миграция почты с Mail.ru
  • Миграция с сервера на сервер
  • Резервное копирование и восстановление
  • Обновление системы
  • Заключение

Возможности решения

  • Добавление и администрирование почтовых доменов
  • Создание и редактирование почтовых ящиков
  • Управление ключами DKIM
  • Управление через API
  • Fail2ban
  • Управление квотами почтовых ящиков и писем
  • Управление очередями писем
  • Управление карантином
  • Конфигурация и статистика Rspamd
  • Почтовый роутинг
  • Настройка системных оповещений
  • Логирование всех выполняемых сервисов
  • Настройка Алиасов

и многое другое

Системные требования

Минимальные системные требования:

Процессор: 1 ядро от 1ГГц

Оперативная память: от 3ГБ

Накопитель: от 20ГБ

Параметры виртуальной машины:

-2

Потребление ресурсов в режиме простоя:

-3
-4

Задачи компании

Для компании со штатом сотрудников 160+ человек и почтовой базой 4ТБ+,
потребовался собственный надежный почтовый сервер с низкими системными требованиями и следующими возможностями:

  • Наличие web интерфейса для управления администраторам
  • Наличие удобного web интерфейса для пользователей
  • Работа на 4 ядрах и 8гб оперативной памяти
  • Наличие антивируса и антиспама
  • Перенос почты с Mail.ru

План мероприятий

  • Всех пользователей извещаем о том, чтобы они создали пароли для внешний приложений в аккаунте на mail.ru и прислали вам
  • Отправляем письмо интернет провайдеру с просьбой прописать PTR запись у себя в DNS
  • Настраиваем DNS у хостинг провайдера и в локальной сети
  • Делаем проброс портов на маршрутизаторе
  • Поднимаем виртуальную машину с Ubuntu 26.04LTS на гипервизоре Proxmox 9.2.3
  • Подготавливаем сервер и устанавливаем docker
  • Запускаем и настраиваем решение
  • Тестируем работоспособность, в том числе делаем проверки онлайн ресурсами
  • Создаем почтовые ящики пользователей
  • Выполняем миграцию почты с Mail.ru

Настройка DNS у провайдера

Прежде всего пишем письмо интернет провайдеру, в котором попросите прописать PTR запись у себя в DNS.

Проверить можно командой:

nslookup -type=PTR ip_адрес --- или --- dig -x ip_адрес

Если у вас нет домена, нужно приобрести советую nethouse.ru - работаю с ним
не один год, всё DNS записи очень быстро обновляются.

Итак создаём записи:

  • Запись типа А, где Имя это домен 3-го уровня, который ссылается на ip адрес вашего маршрутизатора или почтового сервера
  • Запись типа MX, где Имя это ваш домен 2-го уровня как правило, который ссылается на запись типа А

Пример:

-5

Настройка локальных DNS

На локальных DNS серверах рекомендую создать зону:

tuning-admina.ru

В которой вы сможете прописывать записи ресурсов для локальных пользователей:

  • Запись типа А --> mail --> IP_Address
  • Запись типа MX --> mail.tuning-admina.ru --> 10
-6

Проброс портов на маршрутизаторе

В качестве маршрутизатора в компании используется Mikrotik и все необходимые для работы почтовика настройки через Winbox я буду вам демонстрировать.

Рекомендую под почтовик использовать дополнительный - отдельный, белый ip адрес выданный вашим интернет провайдером.

-7

Какие порты стоит пробрасывать для безопасной работы MailCow:

  • 25 (TCP) — SMTP. Нужен, чтобы другие серверы могли присылать вам почту.
  • 465 (TCP) — SMTPS. Защищённое SMTP-соединение (с шифрованием).
  • 587 (TCP) — Submission. Для отправки почты клиентами (из почтовых программ) с обязательной авторизацией.
  • 993 (TCP) — IMAPS. Защищённый IMAP — чтобы клиенты могли читать и управлять папками в почте с шифрованием.
  • 995 (TCP) — POP3S. Защищённый POP3 (с шифрованием).
  • 443 (TCP) — HTTPS. Для доступа к веб-интерфейсу Mailcow (админка, веб-почта SOGo).
  • 4190 (TCP) — ManageSieve. Нужен для работы фильтров Sieve (управление правилами фильтрации почты).

Какие порты не стоит пробрасывать из соображений безопасности:

  • 110 (POP3) и 143 (IMAP). Это незашифрованные протоколы. Если открыть их наружу, вся почта будет передаваться в открытом виде — это серьёзная уязвимость.

Рекомендации по безопасности:

  • Используйте reverse-proxy. Не пробрасывайте порты веб-интерфейса (80/443) напрямую в контейнер Mailcow. Поставьте перед ним Nginx, Traefik или другой обратный прокси. Он будет принимать трафик, проверять его и только потом передавать в Mailcow. Я использую Nginx Proxy Manager
  • Ограничьте доступ. Если возможно, разрешите входящие соединения на эти порты только с определённых IP-адресов (например, с IP вашего офиса или домашнего роутера).
  • Настройте Firewall на хосте. Даже с пробросом полезно иметь локальный фаервол (например, UFW), который по умолчанию блокирует весь входящий трафик, а разрешает только нужные порты.
  • Усильте защиту внутри. В настройках самого Mailcow включите двухфакторную аутентификацию (2FA) для административных аккаунтов, используйте сложные пароли.
  • Проверьте провайдера. Многие хостинг-провайдеры по умолчанию блокируют исходящий трафик на порт 25. Перед настройкой убедитесь, что ваш провайдер это разрешает.

Итак приступим:

На маршрутизаторе нужно создать правило типа DNAT для проброса запросов до вашего почтового сервера:

В разделе IP --> Firewall на вкладке NAT добавляем правило для проброса трафика до нашего почтовика из вне, нажимаем +:

-8

На вкладке General выбираем тип dstnat для запросов приходящих на конкретный адрес на интерфейсе WAN, который смотрит в сторону провайдера, выбираем тип трафика TCP и пробрасываемые порты:

-9

На вкладке Action выбираем dst-nat и указываем локальный ip адрес нашего почтового сервера:

-10

В разделе IP --> Firewall на вкладке NAT добавляем правило для проброса вэб трафика до Nginx Proxy Manager(в моем случае) из вне, нажимаем +:

-11

На вкладке General выбираем тип dstnat для запросов приходящих на конкретный адрес на интерфейсе WAN, который смотрит в сторону провайдера, выбираем тип трафика TCP и пробрасываемые порты:

-12

На вкладке Action выбираем dst-nat и указываем локальный ip адрес нашего Nginx Proxy Manager:

-13

Настраиваем Маскарадинг почтового трафика от отдельного внешнего ip адреса:

В разделе IP --> Firewall на вкладке NAT добавляем правило для маскарада почтового трафика, нажимаем +:

-14

На вкладке General выбираем тип srcnat, указываем локальный IP адрес почтового сервера, исходящий интерфейс WAN смотрящий в сторону интернет провайдера:

-15

На вкладке Action выбираем src-nat и указываем внешний ip адрес смотрящий в сторону провайдера:

-16

Подготовка сервера

Все действия в системе я произвожу под root:

sudo -s

Настраиваем сеть:

Удаляем дефолтные конфиги:

rm /etc/netplan/*.*

Создаем конфигурационный файл:

nano /etc/netplan/config.yaml

network:

ethernets:

ens18:

addresses:

- 10.0.5.15/20

dhcp6: false

match:

macaddresses: 00:00:00:00:00:00

nameservers:

addresses:

- 10.0.5.11

- 10.0.5.12

search: []

routes:

- to: default

via: 10.0.0.254

set-name: ens18

version: 2

Сохраняем файл, выходим из редактора:

CTRL+O, CTRL+X

Применяем настройки:

netplan apply

Обновляем систему:

apt update -y && apt upgrade -y

Устанавливаем имя нашему серверу:

hostnamectl set-hostname mail.tuning-admina.ru

Устанавливаем временную зону:

timedatectl set-timezone Europe/Moscow

Устанавливаем дополнительные пакеты:

apt install mc net-tools git -y

Устанавливаем пакет для синхронизации времени:

apt install chrony -y

Проверяем статус службы:

systemctl status chrony

Перезагружаем систему:

reboot

Установка Docker

Добавим GPG key от репозитория Docker:

Устанавливаем права на директорию:

install -m 0755 -d /etc/apt/keyrings

Скачиваем ключ репозитория:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

Меняем права на файл ключа репозитория:

chmod a+r /etc/apt/keyrings/docker.asc

Добавим репозиторий Docker:

echo \

"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \

$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \

tee /etc/apt/sources.list.d/docker.list > /dev/null

Обновим сведения о пакетах в репозиториях:

apt update -y

Устанавливаем Docker:

apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Проверяем статус службы Docker:

systemctl status docker

-17

Установка MailCow

Переходим в каталог:

cd /opt

Клонируем с GitHub каталог с движком mailcow:

git clone https://github.com/mailcow/mailcow-dockerized

Переходим в каталог с проектом:

cd mailcow-dockerized

Запускаем конфигурационный скрипт:

./generate_config.sh

Отвечаем на вопросы конфигуратора:

  • Указываем FQDN: mail.tuning-admina.ru
  • Выбираем Time Zona: Europe/Moscow
  • Нам предлагается выбрать ветку обновлений программного обеспечения(Available Branches), сейчас доступны три ветки:

Master Branch - Стабильный релиз для продакшена
Nightly Branch
- Нестабильные сборки для тестирования новых функций. Cюда попадают ежедневные коммиты, когда разработчики завершают какие-то изменения. Эту ветку стоит брать, только если вы активно участвуете в тестировании и готовы к возможным багам в продакшене. Официально её не рекомендуют для рабочих окружений.

Legacy Branch - Эта ветка поддерживается, но её статус — устаревшая (deprecated). Её цель — получать только критические обновления безопасности.
Выбираем Master Branch, нажимаем 1 и Enter

Скачиваем все связанные с Mailcow контейнеры:

docker compose pull

-18

Запускаем контейнеры:

docker compose up -d

-19

Проверяем статус контейнеров:

docker compose ps -a

Настройка почтового сервера и демонстрация административного интерфейса

Открываем браузер и переходим по адресу:

https://10.0.5.15/admin

Дефолтная учетная запись с логином admin и паролем moohoo как в предыдущих релизах не подходит и необходимо в консоли сервера выполнить скрипт сброса пароля:

./helper-scripts/mailcow-reset-admin.sh

Checking MySQL service... OK

Are you sure you want to reset the mailcow administrator account? [y/N] y

Working, please wait...

Reset credentials:

---

Username: admin

Password: fy-ZeuNLsOAuTFNb

TFA: none

Копируем пароль и переходим к авторизации через вэб интерфейс:

-20

Первым делом после авторизации нам необходимо сменить пароль администратора, выбираем Система → Конфигурация и напротив пользователя admin нажимаем Изменить:

-21

Использование admin в качестве главной учетной записи - это не правильно с точки зрения безопасности, поэтому меняем имя пользователя и пароль и нажимаем Сохранить изменения:

-22

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

-23

Добавление домена

Переходим в раздел E-mail --> Конфигурация:

-24

На вкладке Домены нажимаем Добавить домен:

-25

Указываем домен, количество ящиков, а также ваши квоты и нажимаем Добавить домен и перезапустить SOGO:

-26

В моем случае количество почтовых ящиков 200штук, квота по умолчанию я выставил 10ГБ, а максимальную 50ГБ, при этом квота на весь домен установил в 6ТБ

Домен мы добавили:

-27

Добавление дополнительных DNS записей

Переходим в пункте меню E-Mail --> Конфигурация:

-28

В строке с нашим доменом находим и нажимаем на кнопку DNS:

-29

Система подготовит и выдаст нам информацию о тех настройках, которые мы уже выполнили и в случае успеха поставит зеленую галочку,

-30

PTR запись не обязательная, но не будет лишней и у своего интернет провайдера можно попросить прописать:

-31

TLSA (Transport Layer Security Authentication) — это необязательный
тип DNS-записи, который позволяет связать сертификат сервера TLS или
открытый ключ с доменным именем, где эта запись находится. Она
используется в рамках протокола DNS-Based Authentication of Named
Entities (DANE) для повышения безопасности TLS-соединений.

-32

Autodiscover (автообнаружение) — это механизм, который позволяет почтовым клиентам автоматически получать настройки для подключения к почтовому серверу.

-33

У DNS провайдера прописываю записи:

-34
-35
-36

Следующие DNS записи считаю важными, для всевозможных проверок и беспроблемным хождением почты между нашим доменом и ведущими почтовыми хостингами:

-37
  • SPF-запись (TXT): «Список доверенных лиц». Говорит, каким серверам разрешено отправлять почту от вашего имени.
  • DKIM-запись (TXT): «Восковая печать». Добавляет к письмам цифровую подпись, подтверждающую подлинность и то, что их не вскрывали по пути.
  • DMARC-запись (TXT): «Инструкция для охранника». Говорит другим серверам, что делать с письмами, которые пришли якобы от вас, но без «пропуска» (SPF) или «печати» (DKIM).

У DNS провайдера прописываю записи:

DKIM
DKIM
dmarc
dmarc
SPF
SPF

После создания DNS записей можно повторно обновить сведения:

-41

!!! Материал готовится !!!

Для создания почтового ящика переходим на вкладку «Почтовые ящики» и жмем кнопку «Добавить почтовый аккаунт».

Теперь можно переходить в приложение Webmail — верхнее меню Приложение → Webmail
— это веб интерфейс почтового ящика. Но прежде, чем отправить первое
письмо, добавим еще одну ДНС-запись, чтобы наши письма не попадали в
спам.

Сертификаты Let's Encrypt

В mailcow присутствует контейнер acme-mailcow,
который в автоматическом режиме попытается получить, а также обновить
SSL сертификат от Lets Encrypt для всех добавленных доменов, при этом
mailcow должен быть доступен на 80-м порту.

Если вам необходимо принудительно продлить сертификат, необходимо выполнить следующее:

  • Подключиться к серверу по ssh
  • Перейти в каталог нашего почтового сервера:

cd /opt/mailcow-dockerized

  • Создадим файл с именем force_renew:

touch data/assets/ssl/force_renew

  • Перезапускаем контейнер acme-mailcow:

docker compose restart acme-mailcow

Создание почтовых ящиков

В меню выбираем E-Mail -- Конфигурация:

В открывшемся окне переходим на вкладку Почтовые ящики и нажимаем Добавить почтовый аккаунт:

Указываем
имя пользователя, пароль, если вы не назначили квоту почтовому ящику,
то она по умолчанию будет та что указана при добавлении домена, нажимаем
Добавить:

Демонстрация пользовательского интерфейса

Пользовательская рабочая панель доступна по адресу: https://mail.tuning-admina.ru/sogo

Авторизовываемся
в системе и нас встречает вполне интуитивно понятный пользовательский
интерфейс c календарем и адресной книгой, в которую автоматически
заносятся почтовые ящики домена с поиском по именам сотрудников.

Адресная книга

По просьбам трудящихся, демонстрирую, что есть в плане адресных книг.

У каждого пользователя есть личная адресная книга:

Которую можно импортировать и экспортировать, а также предоставлять в общий доступ другим пользователям:

Предоставление в общий доступ своей адресной книги:

А также есть глобальная адресная книга, в которую попадают все пользователи домена:

По поводу синхронизации контактов и календаря между SOGO и Outlook напишу чуть позже.

Тестирование работоспособности

Существует
множество онлайн сервисов для проверки работоспособности вашего
почтового сервера, а также присутствие всех нужных записей в DNS, один
из таких ресурсов я вам продемонстрирую:

https://mail-tester.com

Заходим
на сайт и видим предложение отправить письмо на сгенерированный
специально для вас почтовый обработчик, копируем адрес и с вашего
почтового ящика отправляем письмо:

После того как отправили письмо, возвращаемся на страницу ресурса и нажимаем Затем проверьте оценку и если вы все верно настроили, то у вас получиться тот же результат, что и у меня:

Если у вас отличаются показатели от моих, открываем E-Mail --> Конфигурация:

В
разделе домены, напротив вашего есть значок @DNS, нажимаем на него, это
диагностика и предписание вам для настройки своих DNS:

Зелеными
галочками помечен статус ваших правильных настроек, индекс 1 в статусе
напоминает вам, что эта настройка очень важна для правильной работы
почты, а индекс 2 это необязательное условие, а скорее рекомендация.

Открываем
дополнительную вкладку в браузере и идем в панель администрирования DNS
записями вашего Хостинг провайдера и сверяем записи там:

!!! ВАЖНО !!!

Кстати, если планируете отсылать письма по gmail'ам не лишним будет добавить свой домен на специальную страницу:

https://postmaster.google.com

Указываем ваше доменное имя и нажимаем далее:

Нас просят создать TXT запись в DNS нашего хостинг провайдера, копируем значение:

Должно получиться так:

Возвращаемся на страницу Google и нажимаем подтвердить:

Нажимаем Готово, теперь у нас недолжно быть проблем при хождении писем между доменами.

Миграция почты с Mail.ru

В этом блоке статьи мы с вами рассмотрим 1 из 2 вариантов миграции почты:

  • С помощью встроенного в решение контейнера imapsync и настройка процесса синхронизации в WEB панели администрирования
  • Синхронизация с помощью Outlook

С помощью встроенного в решение контейнера imapsync и настройка процесса синхронизации в WEB панели администрирования

На панели управления выбираем E-Mail --> Конфигурация:

Нам нужна вкладка Задания синхронизации, нажимаем Создание нового задания синхронизации:

Запустится
окно создания и конфигурирования правила синхронизации, где в самом
верху указан почтовый ящик на нашем сервере куда мы будем перетаскивать
почту, следом идут параметры подключения к ящику на mail.ru, но только
пароль используется для внешний приложений, интервал установим 1 минуту и
поставим галочку имитировать синхронизацию, для запуска после создания
правила, после чего нажимаем
Добавить:

Синхронизация прошла успешно:

*** Важно ***

При выполнении синхронизации переносятся только штатные папки

Миграция с сервера на сервер

Процесс миграции со старого сервера на новый достаточно простой процесс и выглядит следующим образом:

  • Подготавливаем новый сервер, устанавливаем Docker и MailCow, после чего останавливаем Docker:

systemctl stop docker

  • Разработчиками решения подготовлен скрипт для бэкапа и восстановления решения и находится он в папке /opt/mailcow-dockerized/helper-scripts, запускаем его:

/opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh

  • На старом сервере переходим в каталог /opt/mailcow-dockerized и останавливаем контейнеры вместе с Docker:

cd /opt/mailcow-dockerized

docker compose down

systemctl stop docker

  • На старом сервере запускаем процесс синхронизации содержимого каталога между серверами:

rsync -aHhP --numeric-ids --delete /opt/mailcow-dockerized/ root@mail2.tuning-admina.ru:/opt/mailcow-dockerized

rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@mail2.tuning-admina.ru:/var/lib/docker/volumes

  • Запускаем Docker на новом сервере:

systemctl start docker

  • Переходим в каталог /opt/mailcow-dockerized

cd /opt/mailcow-dockerized

  • Подтягиваем Docker образы mailcow:

docker compose pull

Запускаем контейнеры mailcow:

docker compose up -d

При необходимости меняем настройки DNS.

Резервное копирование и восстановление

Любой сервер в продакшене и не только без бэкапов — это отсроченный апокалипсис и так как почта, была, есть и будет одним из главных средств коммуникации сотрудников, то резервное копирование должно быть максимально эффективным.

В кластере Proxmox мне нравиться настраивать бэкапы штатными средствами и обычно я выставляю хранение последних 3-х копий.

В Mailcow разработчики предусмотрели механизм бэкапа с помощью встроенного скрипта, который находится в папке helper-scripts.

Переходим в эту директорию:
cd /opt/mailcow-dockerized/helper-scripts/
Запустить полный бэкап можно с помощью команды:

./backup_and_restore.sh backup all

где backup - это название производимой процедуры, a параметр all говорит о том, что мы бэкапим все, также можно указать конкретные компоненты:

  • vmail — данные почтовых ящиков (письма, папки);
  • crypt — ключи шифрования;
  • redis — база Redis;
  • rspamd — данные фильтра спама (настройки и «обученные» данные);
  • postfix — очередь почты и настройки Postfix;
  • mysql — база данных MySQL (скрипт использует mariabackup для согласованного горячего бэкапа)
  • --delete-days N - параметр для удаления бэкапов старше N дней

Архивы сохраняются в /var/lib/mailcow/backups

Настроим автоматическое резервное копирование с помощью планировщика заданий Cron:

crontab -e
Добавим строку для ежедневного бэкапа в час ночи:

0 1 * * * cd /opt/mailcow-dockerized && ./helper-scripts/backup_and_restore.sh backup all --delete-days 3 >> /var/log/mailcow-backup.log 2>&1

где:

  • 0 1 * * * — каждый день в 01:00.
  • cd /opt/mailcow-dockerized — переходим в рабочую директорию Mailcow
  • backup all --delete-days 3 — делаем полный бэкап и удаляем бэкапы старше 3-х дней.
  • >> /var/log/mailcow-backup.log 2>&1 — логирование stdout и stderr в файл (удобно для мониторинга).

Сохраняем файл и выходим из редактора, при этом Cron автоматически подхватит изменения:

CTRL+O, CTRL+X

Проверка и мониторинг

  • Проверить, что cron запустился, можно по логам:

journalctl -u cron -f --- для наблюдения в реальном времени

  • Посмотреть, что записалось в лог:

tail -n 50 /var/log/mailcow-backup.log

  • Убедимся, что бэкапы создаются:

ls -la /var/lib/mailcow/backups

Для восстановления используется тот же скрипт, но с параметром restore:

./helper-scripts/backup_and_restore.sh restore

Скрипт предложит указать путь к папке с бэкапами, а также покажет доступные точки восстановления. Выберите нужную и вам предложат выбрать компоненты для восстановления. Можно выбрать всё (0) или отдельные части.

Обновление системы

Для обновления Mailcow используется скрипт update.sh

Переходим в директорию Mailcow:
cd /opt/mailcow-dockerized/
Запускаем скрипт обновления:
./update.sh

Система выполнит обновление по ранее выбранной нами ветке Master, система спросит у нас, что перед обновлением необходимо остановить контейнеры, соглашаемся, нажимаем y и Enter:

-42

Процедура занимает в среднем от 3 до 5 минут

-43

Вот собственно и все

Заключение

Безусловно это одно из лучших готовых решений в качестве почтового сервера для малого и среднего бизнеса. Решение попадает в мой список ТОП-5 лучших
почтовых серверов. Функционал поражает своими возможностями и при этом
ничего лишнего, это вам не многофункциональный комбайн.