Sign inSign up

gromy/ms-spamprotect

By gromy

Updated about 12 hours ago

R7 - MailServer PRO by Maintainer

Image
0

727

gromy/ms-spamprotect repository overview

ms-spamprotect

SpamProtect — milter-прокси антиспама для Р7-Почтовый сервер.

Принимает соединения от Postfix (MTA) по milter-протоколу, проксирует запросы к spam-бэкендам и предоставляет HTTP API api-spamprotect/v1/*. При старте генерирует конфигурацию из переменных окружения (Jinja2), регистрирует экземпляр в кластере и подключается к PostgreSQL.

  • Базовый образ: Debian Bookworm
  • HTTP API: порт 5100
  • Milter: порт 10027
  • Конфигурация: /opt/r7-mailserver/spamprotect/appsettings.json

Быстрый старт

docker 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

Порты

ПортПротоколОписание
5100TCPHTTP API
10027TCPMilter (Postfix → SpamProtect)

Порты задаются переменными MS_SP_HTTP_PORT и MS_SP_MILTER_PORT.


Тома

Путь в контейнереОписание
/var/log/r7-office/SpamProtect.ServiceФайлы логов NLog (MS_SP_LOG_STORAGE)

Переменные окружения

PostgreSQL
ПеременнаяПо умолчаниюОписание
MS_SP_DB_HOSTms-psqlХост PostgreSQL
MS_SP_DB_PORT5432Порт PostgreSQL
MS_SP_DB_NAMEr7mailserverИмя базы данных
MS_SP_DB_USERr7mailuserПользователь БД
MS_SP_DB_PWDsaSA123$Пароль пользователя БД
Экземпляр службы
ПеременнаяПо умолчаниюОписание
MS_SP_INSTANCE_GUID(авто)GUID экземпляра; если пусто — генерируется при старте
MS_SP_INSTANCE_NAMEspam-protectИмя экземпляра в кластере
MS_SP_INSTANCE_ROLESpamProtectРоль экземпляра
HTTP-сервер
ПеременнаяПо умолчаниюОписание
MS_SP_HTTP_LISTEN0.0.0.0IP-адрес прослушивания HTTP API
MS_SP_HTTP_PORT5100TCP-порт HTTP API
MS_SP_HTTP_ALLOWHOSTS*Разрешённые значения заголовка Host
Milter
ПеременнаяПо умолчаниюОписание
MS_SP_MILTER_LISTEN0.0.0.0IP-адрес прослушивания milter
MS_SP_MILTER_PORT10027TCP-порт milter
MS_SP_SPAM_SCORE_HEADERX-Spam-ScoreЗаголовок spam score
MS_SP_DKIM_REQUIRE_AUTHtrueDKIM: требовать аутентификацию клиента
MS_SP_DKIM_ALLOW_LOCALtrueDKIM: разрешить локальных клиентов
Логирование
ПеременнаяПо умолчаниюОписание
MS_SP_LOG_STORAGE/var/log/r7-office/SpamProtect.ServiceКаталог файлов логов
MS_SP_LOG_FILEspamprotect-${shortdate}.logШаблон имени файла (NLog)
MS_SP_LOG_FORMAT(см. Dockerfile)Формат строки лога
MS_SP_LOG_LEVELDebugУровень логирования
MS_SP_LOG_MAXFILES30Число архивных файлов
MS_SP_LOG_FILESIZE10485760Порог ротации, байт
MS_SP_LOG_MAXDAYS14Срок хранения архивов, дней

Пример Docker Compose

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-psqlPostgreSQL + схема БД
ms-mtaSMTP-сервер (Postfix), milter client
ms-spambackendSpam backend (milter)
ms-frontendВеб-панель администрирования

Ссылки

Tag summary

Content type

Image

Digest

sha256:217ab5beb

Size

214.6 MB

Last updated

about 12 hours ago

docker pull gromy/ms-spamprotect