До основного вмісту

Mailcow: власний поштовий сервер у контейнерах Docker

Безпека · 18.10.2026 · 5 хв читання
Ілюстрація до статті «Mailcow: власний поштовий сервер у контейнерах Docker»

Mailcow — готовий набір контейнерів Docker, який розгортає повноцінний поштовий сервер: прийом і відправлення пошти, вебінтерфейс вебмейла і календаря, антиспам і антивірус, зібрані в один стек із єдиною адміністративною панеллю. На відміну від збірки Postfix вручну, Mailcow бере на себе зв'язування компонентів між собою, але вимагає більше ресурсів сервера і довіри до оновлень готового образу.

Що входить до стеку Mailcow

Прийом і відправлення листів у Mailcow виконує Postfix, доступ за IMAP/POP3 — Dovecot, антиспам-фільтрацію — Rspamd, антивірусну перевірку вкладень — ClamAV, а вебінтерфейс пошти і календаря надає SOGo. Усі компоненти запускаються як окремі контейнери Docker і обмінюються даними через внутрішню мережу, а не встановлюються окремо в систему.

Адміністративна панель Mailcow об'єднує керування доменами, поштовими скриньками, аліасами і правилами фільтрації в одному вебінтерфейсі — те, що під час ручного налаштування Postfix і Dovecot зазвичай робиться через редагування текстових конфігураційних файлів і окремих баз даних.

Вимоги до ресурсів і системи

ClamAV і Rspamd разом із базою MySQL і Redis помітно збільшують споживання пам'яті порівняно з самостійним Postfix: за документацією проєкту мінімальний обсяг оперативної пам'яті — 2 GB, а на практиці для стабільної роботи з усіма компонентами зазвичай закладають від 4 GB. Менший обсяг пам'яті призводить до того, що контейнер ClamAV або не стартує, або завершується через нестачу пам'яті під час оновлення антивірусних баз.

Mailcow підтримує запуск на виділеному VDS із власним доменом і зворотним DNS (PTR), налаштованим на цей самий домен — без коректного PTR-запису багато поштових систем відхиляють листи ще до перевірки SPF і DKIM, незалежно від того, наскільки акуратно налаштований сам Mailcow.

Встановлення і перший запуск

Mailcow встановлюється через docker compose: конфігурація генерується окремим скриптом, після чого потрібно запустити близько десятка контейнерів однією командою. Базові вимоги до системи — встановлений Docker і Docker Compose — описані у статті «Docker на VPS: встановлення і запуск контейнерів».

Перший запуск займає помітний час: образи контейнерів потрібно завантажити, а базу даних і поштові таблиці — ініціалізувати. До завершення першого запуску адміністративна панель може бути недоступна або відповідати з помилками, що не означає збій встановлення.

DNS і захист пошти

Без базового набору DNS-записів — MX, SPF, DKIM і DMARC — Mailcow не гарантує доходимість листів, як і будь-який інший поштовий сервер: контейнери вирішують завдання прийому і відправлення, але не скасовують потребу правильно оголосити домен у DNS. Повний порядок налаштування цих записів, незалежно від того, Mailcow чи ручний Postfix стоїть за ними, описаний у статті «SPF, DKIM і DMARC: повне налаштування захисту email».

Mailcow генерує DKIM-ключ для домену автоматично через вебінтерфейс, але сам запис у DNS все одно додається вручну — автоматизація стосується лише генерації ключа і підписання листів усередині контейнера, а не керування зоною DNS.

Mailcow чи ручне налаштування Postfix

Ручна установка Postfix дає повний контроль над кожним параметром конфігурації і мінімальне споживання ресурсів, але вимагає окремо налаштовувати і зв'язувати між собою Dovecot, антиспам і вебпошту, якщо вони потрібні; порядок такого налаштування описаний у статті «Postfix: налаштування поштового сервера на VPS».

Mailcow підходить, коли потрібен повний набір можливостей поштового сервера з вебінтерфейсом і мінімумом ручного збирання компонентів, а ручний Postfix — коли потрібен лише прийом і відправлення пошти з мінімальною витратою пам'яті, без вебпошти і календаря.

  • Postfix — прийом і відправлення листів
  • Dovecot — доступ за IMAP і POP3
  • Rspamd — фільтрація спаму
  • ClamAV — перевірка вкладень на віруси
  • SOGo — вебінтерфейс пошти і календаря
  • MySQL і Redis — зберігання конфігурації і черг
ПараметрMailcowРучний Postfix
Мінімальна пам'ятьвід 2 GBвід 512 MB
Вебпошта і календарє (SOGo)потрібно встановлювати окремо
Антиспам і антивірусвключені (Rspamd, ClamAV)потрібно встановлювати окремо
Контроль над конфігурацієючерез панель і готові шаблониповний, через текстові файли
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh
docker compose pull
docker compose up -d

Часті питання

Скільки оперативної пам'яті потрібно для стабільної роботи Mailcow?

За документацією проєкту мінімум — 2 GB, але на практиці для стабільної роботи ClamAV, Rspamd та інших компонентів одночасно зазвичай закладають від 4 GB. За меншого обсягу пам'яті контейнер ClamAV найчастіше страждає першим — або не стартує, або перезапускається під час оновлення антивірусних баз.

Чи можна запустити Mailcow без вебінтерфейсу SOGo, якщо потрібен лише прийом і відправлення листів?

SOGo можна вимкнути в конфігурації, що трохи знижує споживання ресурсів, але Postfix, Dovecot, Rspamd і ClamAV все одно залишаться частиною стеку — Mailcow не розрахований на запуск одного компонента окремо від інших. Якщо потрібен лише прийом і відправлення пошти без вебінтерфейсу і антивірусу, простіше і легше за ресурсами налаштувати Postfix вручну.

Чи потрібно окремо налаштовувати SPF, DKIM і DMARC, якщо пошта вже працює через Mailcow?

Так, Mailcow автоматизує генерацію DKIM-ключа і підписання листів усередині контейнерів, але самі DNS-записи — MX, SPF, DKIM і DMARC — потрібно додати в зону домену вручну, як і за будь-якого іншого поштового сервера. Без цих записів листи з Mailcow доходитимуть так само погано, як і з будь-якого непрогрітого сервера без захисту email.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці