feature: add docker-compose.yml for docker-mailserver; edit documentation for local SMTP-server installation

This commit is contained in:
austnv
2026-06-04 12:39:59 +03:00
parent 9393962510
commit bd7361e9dc
2 changed files with 77 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
services:
mailserver:
image: ghcr.io/docker-mailserver/docker-mailserver:latest
container_name: mailserver
hostname: mail.example.com # Замените на ваш реальный домен (оставить поддомен mail)
domainname: example.com # Замените на ваш реальный домен
ports:
- "25:25"
- "587:587"
- "465:465"
- "993:993"
volumes:
- ./mail-data:/var/mail
- ./config:/tmp/docker-mailserver
environment:
- SSL_TYPE=manual
- SSL_CERT_PATH=path/to/your/crt/file/example.com.crt # Путь к файлу сертификата
- SSL_KEY_PATH=path/to/your/key/file/example.com.key # Путь к закрытому ключу
- OVERRIDE_HOSTNAME=mail.example.com # Замените на ваш реальный домен
- PERMIT_DOCKER=network
- ENABLE_OPENDKIM=0
- ENABLE_OPENDMARC=0
- ENABLE_AMAVIS=0
- ENABLE_CLAMAV=0
- ENABLE_SPAMASSASSIN=0
restart: always
+51
View File
@@ -106,3 +106,54 @@ docker compose logs -f backend
- Пользователь получает `rate_limited`: подождите `EMAIL_CODE_RESEND_SECONDS` или проверьте brute-force настройки. - Пользователь получает `rate_limited`: подождите `EMAIL_CODE_RESEND_SECONDS` или проверьте brute-force настройки.
Email-уведомления поддержки, платежей и жизненного цикла подписки используют тот же SMTP-контур. Сценарий поддержки описан в [разделе тикетов](support.md), сводка по каналам - в разделе [уведомления](notifications.md). Email-уведомления поддержки, платежей и жизненного цикла подписки используют тот же SMTP-контур. Сценарий поддержки описан в [разделе тикетов](support.md), сводка по каналам - в разделе [уведомления](notifications.md).
## Настройка локального SMTP-сервера
### Требования
Перед запуском локального SMTP-сервера вам потребуется настроить DNS-записи вашего домена:
* A — mail.example.com (указать IP вашего сервера)
* MX — mail.example.com (приоритет 10)
* PTR — mail.example.com (настраивается у вашего хостера VPS)
* TXT — `v=spf1 ip4:1.2.3.4 ~all` (поддомен @, замените `1.2.3.4` на реальный ipv4 вашего сервера)
После изменения DNS-записей подождите некоторое время (иногда требуется от 3 часов до суток) для применения изменений.
Для использования STARTTLS необходимо получить TLS/SSL-сертификат для домена mail.example.com. Самый простой способ это сделать — прописать следующую директиву в Caddyfile (если вы используете Caddy):
```Caddyfile
https://mail.example.com {
respond "Mail server"
}
```
### Установка
1. Настройка docker-compose.yml:
```bash
mkdir -p /opt/mailserver
cd /opt/mailserver
curl -O https://github.com/3252a8/remnawave-minishop/blob/main/deploy/examples/mail/docker-compose.yml
nano docker-compose.yml
```
2. Запуск:
```bash
docker compose up -d
```
3. Создание пользователя:
```bash
# Скрипт попросит придумать пароль и потвердить его
docker exec -it mailserver setup email add no-reply@example.com
# Проверка создания пользователя
docker exec -it mailserver setup email list
# Должны увидеть:
# no-reply@example.com
```
После всех настроек вы можете использовать свой почтовый клиент (Microsoft Outlook, Mozilla Thunderbird) для отправки и получения писем. В окне добавления нового аккаунта достаточно ввести созданную почту no-reply@example.com и пароль.