Sign inSign up

gromy/ms-spamprotect

By gromy

•Updated 11 days ago

R7 - MailServer PRO by Maintainer

Image
0

930

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:c27706b02…

Size

214.3 MB

Last updated

11 days ago

docker pull gromy/ms-spamprotect