SpamProtect — milter-прокси антиспама для Р7-Почтовый сервер.
Принимает соединения от Postfix (MTA) по milter-протоколу, проксирует запросы к spam-бэкендам и предоставляет HTTP API api-spamprotect/v1/*. При старте генерирует конфигурацию из переменных окружения (Jinja2), регистрирует экземпляр в кластере и подключается к PostgreSQL.
/opt/r7-mailserver/spamprotect/appsettings.jsondocker run -d \
--name ms-spamprotect \
--hostname ms-spamprotect \
-p 5100:5100 \
-p 10027:10027 \
-e MS_SP_DB_HOST=ms-psql \
-e MS_SP_DB_PWD=secret \
-v ms-spamprotect-logs:/var/log/r7-office/SpamProtect.Service \
gromy/ms-spamprotect:latest
Минимально необходимо указать параметры подключения к PostgreSQL.
docker run --env-file .env --name ms-spamprotect \
-p 5100:5100 \
-p 10027:10027 \
-v ./logs:/var/log/r7-office/SpamProtect.Service \
gromy/ms-spamprotect:latest
| Порт | Протокол | Описание |
|---|---|---|
5100 | TCP | HTTP API |
10027 | TCP | Milter (Postfix → SpamProtect) |
Порты задаются переменными MS_SP_HTTP_PORT и MS_SP_MILTER_PORT.
| Путь в контейнере | Описание |
|---|---|
/var/log/r7-office/SpamProtect.Service | Файлы логов NLog (MS_SP_LOG_STORAGE) |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_SP_DB_HOST | ms-psql | Хост PostgreSQL |
MS_SP_DB_PORT | 5432 | Порт PostgreSQL |
MS_SP_DB_NAME | r7mailserver | Имя базы данных |
MS_SP_DB_USER | r7mailuser | Пользователь БД |
MS_SP_DB_PWD | saSA123$ | Пароль пользователя БД |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_SP_INSTANCE_GUID | (авто) | GUID экземпляра; если пусто — генерируется при старте |
MS_SP_INSTANCE_NAME | spam-protect | Имя экземпляра в кластере |
MS_SP_INSTANCE_ROLE | SpamProtect | Роль экземпляра |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_SP_HTTP_LISTEN | 0.0.0.0 | IP-адрес прослушивания HTTP API |
MS_SP_HTTP_PORT | 5100 | TCP-порт HTTP API |
MS_SP_HTTP_ALLOWHOSTS | * | Разрешённые значения заголовка Host |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_SP_MILTER_LISTEN | 0.0.0.0 | IP-адрес прослушивания milter |
MS_SP_MILTER_PORT | 10027 | TCP-порт milter |
MS_SP_SPAM_SCORE_HEADER | X-Spam-Score | Заголовок spam score |
MS_SP_DKIM_REQUIRE_AUTH | true | DKIM: требовать аутентификацию клиента |
MS_SP_DKIM_ALLOW_LOCAL | true | DKIM: разрешить локальных клиентов |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_SP_LOG_STORAGE | /var/log/r7-office/SpamProtect.Service | Каталог файлов логов |
MS_SP_LOG_FILE | spamprotect-${shortdate}.log | Шаблон имени файла (NLog) |
MS_SP_LOG_FORMAT | (см. Dockerfile) | Формат строки лога |
MS_SP_LOG_LEVEL | Debug | Уровень логирования |
MS_SP_LOG_MAXFILES | 30 | Число архивных файлов |
MS_SP_LOG_FILESIZE | 10485760 | Порог ротации, байт |
MS_SP_LOG_MAXDAYS | 14 | Срок хранения архивов, дней |
services:
ms-spamprotect:
image: gromy/ms-spamprotect:latest
hostname: ms-spamprotect
env_file: .env
ports:
- "5100:5100"
- "10027:10027"
volumes:
- spamprotect-logs:/var/log/r7-office/SpamProtect.Service
depends_on:
ms-psql:
condition: service_healthy
volumes:
spamprotect-logs:
| Образ | Назначение |
|---|---|
ms-psql | PostgreSQL + схема БД |
ms-mta | SMTP-сервер (Postfix), milter client |
ms-spambackend | Spam backend (milter) |
ms-frontend | Веб-панель администрирования |
README.md в репозиторииContent type
Image
Digest
sha256:217ab5beb…
Size
214.6 MB
Last updated
about 12 hours ago
docker pull gromy/ms-spamprotect