Docker Stalwart
Stalwart — современный почтовый сервер с поддержкой web-интерфейса и всех стандартов SMTP/IMAP/POP3, который можно развернуть полностью self-hosted. Сегодня мы рассмотрим, как настроить Stalwart через Docker Compose, подключать клиентов и управлять почтовым сервером.
Что такое Stalwart
Stalwart состоит из одного основного сервиса:
- Stalwart Mail Server — обрабатывает входящую и исходящую почту, хранит почтовые ящики, управляет протоколами SMTP, IMAP и POP3, а также предоставляет веб-интерфейс для администрирования.
Дополнительно можно использовать web-клиент Stalwart, который позволяет проверять почту через браузер.
Развёртывание Stalwart на Debian через Docker Compose
Мы используем Docker для быстрого и безопасного запуска сервера. Пример docker-compose.yml:
services:
stalwart:
container_name: stalwart
image: stalwartlabs/stalwart:latest
restart: unless-stopped
ports:
- "8080:8080" # веб-интерфейс
- "25:25" # SMTP
- "587:587" # SMTP submission
- "465:465" # SMTP SSL
- "143:143" # IMAP
- "993:993" # IMAP SSL
- "110:110" # POP3
- "995:995" # POP3 SSL
volumes:
- stalwart-data:/opt/stalwart
deploy:
resources:
limits:
cpus: "1"
memory: 1024M
volumes:
stalwart-data:
Использование volume stalwart-data позволяет сохранять данные почтового сервера между перезапусками контейнера.
Запуск контейнера
docker compose up -d
docker compose logs -f
Команда up -d запускает сервер в фоновом режиме, а logs -f показывает логи в реальном времени.
Проверка работы сервера
Убедитесь, что порты для почтовых протоколов открыты:
ss -tuln | grep -E '25|587|465|143|993|110|995|8080'
Если сервер не слушает, проверьте логи:
docker logs stalwart
Настройка почтовых клиентов
Для подключения клиентов (Windows, Linux, macOS) используйте следующие параметры:
SMTP: :25 или 587/465
IMAP: :143 или 993
POP3: :110 или 995
Логин: e-mail пользователя
Пароль: пароль пользователя
Проверьте доступность портов через:
ping
nc -vz 25
nc -vz 993
Убедитесь, что firewall разрешает входящие соединения на эти порты.
Веб-клиент Stalwart
Веб-клиент позволяет управлять почтой через браузер и создавать новые ящики:
- Доступен по порту 8080
- Поддерживает все базовые функции управления почтой
- Можно использовать на том же сервере, что и основной Stalwart контейнер
Выводы
- Stalwart позволяет построить полностью self-hosted почтовый сервер
- Для работы клиентов достаточно указать IP сервера и стандартные SMTP/IMAP/POP3 порты
- Данные хранятся в Docker volume, что обеспечивает сохранность при обновлениях
- Ресурсы контейнера можно ограничить (1 CPU, 1 GB RAM) для слабых VPS
Услуги
Хотите развернуть собственный почтовый сервер на базе Stalwart?
Я помогу с установкой на VPS или локальный сервер, настройкой почтовых клиентов, веб-интерфейса, SSL и брандмауэра, а также оптимизацией производительности.
Свяжитесь со мной, чтобы обсудить проект и получить готовое решение для self-hosted почтового сервера.