mailnest — свой почтовый сервер
Почта на своих доменах без готовых сборок: Postfix, Dovecot, Rspamd и Roundcube на своих Dockerfile, управление на Django
- Моя роль
- Автор
- Период
- 2026 — н.в.
Почтовый сервер mail.mailnest.uz для моих доменов и проектов семьи. Готовые сборки вроде Mailcow или docker-mailserver я не беру: каждый компонент собирается из своего Dockerfile на Debian 13, чтобы понимать и контролировать всю цепочку — от приёма письма до IMAP.
Домены, ящики и псевдонимы хранит Django, а Postfix и Dovecot читают их из PostgreSQL через отдельную роль, которой видны только представления. Схема с самого начала рассчитана на будущий сервис mailnest.uz, где клиенты сами подключают домены и создают ящики. Сейчас готовы спецификация, документация по всем компонентам, DNS и PTR-запись; дальше сервер собирается по этапам, с проверкой после каждого.
Что сделано
- Свои Dockerfile для Postfix, Dovecot 2.4, Rspamd и Roundcube; из официальных образов — только PostgreSQL, Redis и nginx
- Django владеет схемой почты: таблицы — модели, представления и триггеры — миграции; Postfix и Dovecot видят только представления
- Лимиты отправки через policy-сервис Postfix: правила в базе, счётчики в Redis
- DKIM-ключи генерирует Django при добавлении домена, в Rspamd они попадают через Redis
- Исходящий 25-й порт открыт только контейнеру Postfix, чтобы соседние проекты на сервере не могли рассылать спам
- SPF -all, DMARC p=reject и PTR с первого дня
- Документация: путь письма, DNS и каждый компонент, с маршрутом изучения под этапы работ