Sign inSign up

gromy/ms-mailfilter

By gromy

•Updated 15 days ago

R7 - MailServer PRO by Maintainer

Image
0

825

gromy/ms-mailfilter repository overview

⁠ms-mailfilter

MailFilter — служба фильтрации почты для Р7-Почтовый сервер.

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

  • Базовый образ: Debian Bookworm
  • HTTP API: порт 5000
  • TCP Policy: порт 2525
  • Swagger: /swagger-filter
  • Конфигурация: /opt/r7-mailserver/mailfilter/appsettings.json

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

docker run -d \
  --name ms-mailfilter \
  --hostname ms-mailfilter \
  -p 5000:5000 \
  -p 2525:2525 \
  -e MS_MF_DB_HOST=ms-psql \
  -e MS_MF_DB_PWD=secret \
  -v ms-mailfilter-logs:/var/log/r7-office/MailFilter.Service \
  gromy/ms-mailfilter:latest

Минимально необходимо указать параметры подключения к PostgreSQL.

docker run --env-file .env --name ms-mailfilter \
  -p 5000:5000 \
  -p 2525:2525 \
  -v ms-mailfilter-logs:/var/log/r7-office/MailFilter.Service \
  gromy/ms-mailfilter:latest

⁠Порты

ПортПротоколОписание
5000TCPHTTP API
2525TCPTCP Policy Service (Postfix → MailFilter)

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


⁠Тома

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

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

⁠PostgreSQL
ПеременнаяПо умолчаниюОписание
MS_MF_DB_HOSTms-psqlХост PostgreSQL
MS_MF_DB_PORT5432Порт PostgreSQL
MS_MF_DB_NAMEr7mailserverИмя базы данных
MS_MF_DB_USERr7mailuserПользователь БД
MS_MF_DB_PWDsaSA123$Пароль пользователя БД
⁠Экземпляр службы
ПеременнаяПо умолчаниюОписание
MS_MF_INSTANCE_GUID(авто)GUID экземпляра; если пусто — генерируется при старте
MS_MF_INSTANCE_NAMEmail-filterИмя экземпляра в кластере
MS_MF_INSTANCE_ROLEMailFilterРоль экземпляра
⁠HTTP API
ПеременнаяПо умолчаниюОписание
MS_MF_HTTP_LISTEN0.0.0.0IP-адрес прослушивания HTTP API
MS_MF_HTTP_PORT5000TCP-порт HTTP API
MS_MF_HTTP_ALLOWHOSTS*Разрешённые значения заголовка Host
⁠MailFilter
ПеременнаяПо умолчаниюОписание
MS_MF_CACHE_REFRESH_MINUTES5Интервал обновления кэша правил (минуты)
MS_MF_ENABLE_DETAILED_LOGGINGtrueПодробное логирование фильтрации
MS_MF_ENABLE_SQL_QUERY_CACHEtrueКэширование SQL-запросов
MS_MF_SQL_QUERY_CACHE_TTL_SECONDS30TTL кэша SQL-запросов (сек)
MS_MF_SQL_QUERY_CACHE_SIZE_LIMIT10000Лимит размера кэша SQL-запросов
⁠GeoIP
ПеременнаяПо умолчаниюОписание
MS_MF_GEOIP_PROVIDERJsonПровайдер GeoIP (Json, Mmdb, GovApi)
MS_MF_GEOIP_DATASET_PATH(пусто)Путь к JSON-дataset GeoIP
MS_MF_GEOIP_MMDB_PATH./GeoLite2-Country.mmdbПуть к MMDB-файлу
MS_MF_GEOIP_GOV_API_URLhttps://geoip.noc.gov.ru/api/geoipURL Gov API
MS_MF_GEOIP_GOV_API_TIMEOUT_SECONDS5Таймаут Gov API (сек)
⁠TCP Policy Service
ПеременнаяПо умолчаниюОписание
MS_MF_TCP_ENABLEtrueВключить TCP Policy Service
MS_MF_TCP_LISTEN0.0.0.0IP-адрес прослушивания TCP
MS_MF_TCP_PORT2525TCP-порт Policy Service
MS_MF_TCP_RECEIVE_TIMEOUT_SECONDS5Таймаут чтения TCP (сек)
MS_MF_TCP_SEND_TIMEOUT_SECONDS5Таймаут записи TCP (сек)
⁠Логирование
ПеременнаяПо умолчаниюОписание
MS_MF_LOG_STORAGE/var/log/r7-office/MailFilter.ServiceКаталог файлов логов
MS_MF_LOG_FILEmailfilter-${shortdate}.logШаблон имени файла (NLog)
MS_MF_LOG_FORMAT(см. Dockerfile)Формат строки лога
MS_MF_LOG_LEVELInfoУровень логирования
MS_MF_LOG_MAXFILES30Число архивных файлов
MS_MF_LOG_FILESIZE10485760Порог ротации, байт
MS_MF_LOG_MAXDAYS14Срок хранения архивов, дней

⁠Пример Docker Compose

services:
  ms-mailfilter:
    image: gromy/ms-mailfilter:latest
    hostname: ms-mailfilter
    env_file: .env
    ports:
      - "5000:5000"
      - "2525:2525"
    volumes:
      - mailfilter-logs:/var/log/r7-office/MailFilter.Service
    depends_on:
      ms-psql:
        condition: service_healthy

volumes:
  mailfilter-logs:

⁠Связанные образы

ОбразНазначение
ms-psqlPostgreSQL + схема БД
ms-mtaPostfix MTA (клиент TCP Policy на порту 2525)
ms-frontendВеб-панель (прокси /api-filter)

⁠Ссылки

Tag summary

Content type

Image

Digest

sha256:a2e5c7899…

Size

229.6 MB

Last updated

15 days ago

docker pull gromy/ms-mailfilter