Как установить Mailcow на Ubuntu: пошаговое руководство

Почему запускать собственный почтовый сервер? Приватность, контроль над данными и гибкая кастомизация. Но это требует ответственности: DNS, безопасность, резервные копии и мониторинг — всё это на администраторе.
Что такое Mailcow
Mailcow — это набор готовых сервисов (Postfix, Dovecot, Rspamd, SOGo/roundcube, MariaDB и др.) упакованных в Docker и управляемых через docker-compose. В одной строке: комплексное решение для среднего и продвинутого администратора почты.
Ключевые термины (одно предложение каждый):
- Docker — инструмент для запуска приложений в изолированных контейнерах.
- docker-compose — менеджер мультиконтейнерных приложений Docker.
- DKIM/SPF/DMARC — DNS-политики и подписи, которые помогают доставке почты.
Требования перед началом
- Доступ к серверу Ubuntu (рекомендовано LTS), root или sudo.
- Свой домен и доступ к управлению DNS у провайдера хостинга.
- Минимум 2 ГБ RAM (рекомендуется 4+ ГБ для стабильной работы).
- Открытые публичные статические IP-адреса предпочтительны.
Важно: этот гайд не покрывает полный цикл эксплуатации (например, накладные расходы на поддержку, SLA, автоматизацию бэкапов) — он фокусируется на установке и базовой настройке.
1. Установка Docker
Mailcow работает в Docker. Если Docker у вас не установлен, установите его командой от официального скрипта:
sudo curl -sSL https://get.docker.com/ | CHANNEL=stable shДобавьте пользователя в группу docker, чтобы запускать команды без sudo (замените username на ваш логин):
sudo usermod -aG docker usernameВключите автозапуск Docker и запустите сервис:
sudo systemctl enable docker.service
sudo systemctl start docker.serviceПроверьте работу Docker:
docker --version2. Установка docker-compose
Официальные пакеты в репозиториях Ubuntu часто устарели. Скачайте бинарник напрямую и установите:
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeПроверка:
docker-compose --version(В зависимости от версии Docker Engine может потребоваться другой способ установки docker-compose — проверьте совместимость в документации Docker.)
3. Клонирование Mailcow и генерация конфигурации
Установите git, если его нет, и разместите mailcow в /opt:
sudo apt update
sudo apt install -y git
cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerizedСгенерируйте конфигурацию и укажите имя хоста (поддомен, например mail.example.com):
sudo ./generate_config.shФайл mailcow.conf будет создан в текущей папке. По умолчанию настройки подходят большинству сценариев, но вы можете отредактировать его для тонкой настройки.
4. Загрузка зависимостей и запуск
Скачайте образы контейнеров:
sudo docker-compose pullЗапуск в фоне:
sudo docker-compose up -dПроверьте состояние контейнеров:
sudo docker-compose ps
sudo docker-compose logs -f5. Первый запуск и вход в интерфейс
Откройте в браузере адрес, который вы указали при генерации конфигурации (например https://mail.example.com). На экране входа по умолчанию логин и пароль:
- username: admin
- password: moohoo
При первом входе система предложит сменить логин/пароль — обязательно сделайте это.

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

6. Обязательная настройка DNS (чтобы письма доходили)
Чтобы письма не попадали в спам и вообще доставлялись, настройте у провайдера DNS следующие записи:
- A (или AAAA) — укажите IP сервера для mail.example.com.
- MX — укажите приоритет и хост mail.example.com.
- TXT SPF — строка, описывающая, какие хосты имеют право отправлять почту от имени домена.
- TXT DKIM — Mailcow сгенерирует DKIM-ключи; опубликуйте публичную часть в DNS.
- TXT DMARC — политика для обработки сообщений, которые не прошли SPF/DKIM.
- PTR — обратная запись для вашего публичного IP (настраивается у провайдера хостинга/ISP).
Важно: без корректных SPF/DKIM/PTR ваша почта с высокой вероятностью будет отклоняться или маркироваться как спам.
Пример минимального SPF: “v=spf1 mx -all” — разрешает отправку с MX-серверов домена.
7. Брандмауэр и безопасность
Рекомендуемые порты (открыть в брандмауэре только необходимые):
- 25 TCP — SMTP
- 587 TCP — Submission (SMTP с аутентификацией)
- 443 TCP — HTTPS (веб-интерфейс)
- 80 TCP — HTTP (перенаправление на HTTPS)
- 993 TCP — IMAPS (если используете прямой доступ IMAP)
Пример базовой настройки ufw:
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw enableРекомендуется:
- Включить fail2ban для защиты от подборов паролей.
- Регулярно обновлять систему и образы Docker.
- Минимизировать список пользователей с привилегиями.
8. Резервное копирование и обновления
Что сохранять:
- Конфигурационные файлы /opt/mailcow-dockerized/data и mailcow.conf.
- Ключи DKIM.
Простой подход к бэкапу: периодическое архивирование важной папки и её отправка на удалённое хранилище (rsync/scp/облачный бэкап).
Обновление Mailcow:
cd /opt/mailcow-dockerized
sudo git pull
sudo docker-compose pull
sudo docker-compose up -dПеред обновлением делайте бэкап и читайте release notes проекта.
9. Тесты и проверка
Базовые тесты после запуска:
- Отправить письмо с внешнего аккаунта (Gmail/Yandex) на новый ящик и наоборот.
- Проверить заголовки письма: SPF/DKIM/DMARC должны проходить.
- Использовать инструменты проверки почты (mail-tester.com, MXToolbox) для диагностики.
Команды для диагностики на сервере:
sudo docker-compose logs -f mailcow-mailserver
sudo docker ps
sudo docker-compose exec postfix postconf -n10. Технические советы и часто встречающиеся ошибки
- Проблема: письма выиграют статус «в спаме». Причина: неправильно настроенные SPF/DKIM/DMARC или отсутствие PTR. Решение: проверить и исправить соответствующие DNS-записи, дождаться обновления зоны.
- Проблема: контейнеры не запускаются. Проверьте логи: sudo docker-compose logs -f и свободное место на диске.
- Не забудьте открыть порты на провайдере облака (внешний firewall), а не только на сервере.
Чек-листы по ролям
Администратор (установка):
- Установлен Docker и docker-compose
- Клонирован репозиторий mailcow
- Сгенерирован mailcow.conf
- Контейнеры подняты и проверены
- Доступ к веб-интерфейсу проверен
Оператор (эксплуатация):
- Настроены DNS: A/MX/SPF/DKIM/DMARC/PTR
- Настроена система бэкапов
- Мониторинг и алерты настроены
- Периодические обновления и тесты
Инженер безопасности:
- Брандмауэр настроен
- fail2ban и защита от брутфорса активированы
- Минимизация прав для сервисных учётных записей
Критерии приёмки
- Веб-интерфейс Mailcow доступен по HTTPS.
- Отправка/приём почты между внешним аккаунтом и сервером проходит успешно.
- SPF, DKIM и DMARC проходят проверку в отправленных письмах.
- Наличествует реализованный план резервного копирования.
Короткие советы по масштабированию и альтернативы
Если у вас большой объём почты или высокие требования по доступности, рассмотрите разграничение сервисов (разделение баз данных, использование отдельного SMTP-шлюза), или коммерческие SaaS-решения почты. Альтернатива Mailcow: iRedMail, Modoboa, или управляемые почтовые сервисы.
Часто задаваемые вопросы
Нужно ли менять порт 25?
Нет: ограничения со стороны провайдеров часто запрещают доступ к порту 25. Если у провайдера блокировка, используйте внешний SMTP-шлюз или прокси. Но для приёма почты от других серверов порт 25 требуется.
Можно ли использовать Let’s Encrypt для сертификатов?
Да. Mailcow поддерживает автоматическую генерацию и обновление сертификатов Let’s Encrypt для веб-интерфейса и TLS для почты.
Итог
Запуск Mailcow на Ubuntu даёт мощную и управляемую почтовую платформу в контейнерах. Однако полноценная эксплуатация требует настройки DNS, безопасности, резервного копирования и мониторинга. Следуйте чек-листам, тестируйте доставку и периодически обновляйте систему.
Ключевые шаги: установить Docker → docker-compose → клонировать mailcow → сгенерировать конфиг → запустить → настроить DNS → протестировать.

Полезные команды для быстрого доступа:
sudo docker-compose ps
sudo docker-compose logs -f
sudo git pull && sudo docker-compose pull && sudo docker-compose up -dImportant: перед вводом в эксплуатацию убедитесь, что SPF/DKIM/PTR настроены и что у вас есть план резервного копирования.
Краткое резюме:
- Установка Mailcow возможна на Ubuntu за 30–60 минут при наличии доступа к серверу и DNS.
- Настройка DNS и безопасность требуют отдельного внимания.
- После стартовой установки следуйте чек-листам и регулярно обновляйте систему.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента