Sign inSign up

gromy/ms-api

By gromy

Updated about 3 hours ago

R7 - MailServer PRO by Maintainer

Image
0

705

gromy/ms-api repository overview

ms-api

Mail Admin API — REST API служба администрирования Р7-Почтовый сервер.

Контейнер при старте генерирует конфигурацию из переменных окружения (Jinja2), регистрирует экземпляр в кластере и подключается к PostgreSQL. Предназначен для работы в составе стека почтового сервера вместе с ms-psql, ms-frontend и другими компонентами.

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

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

docker run -d \
  --name ms-api \
  --hostname ms-api \
  -p 48033:48033 \
  -e MS_API_DB_HOST=ms-psql \
  -e MS_API_DB_PWD=secret \
  -e MS_API_DOMAIN=mail.example.com \
  -v ms-api-logs:/var/log \
  gromy/ms-api:latest

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

docker run --env-file .env --name ms-api -p 48033:48033 -v ./logs:/var/log gromy/ms-api:latest

Порты

ПортПротоколОписание
48033TCPHTTP REST API

Порт задаётся переменной MS_API_HTTP_PORT (по умолчанию 48033).


Тома

Путь в контейнереОписание
/var/logФайлы логов NLog (MS_API_LOG_STORAGE)

Рекомендуется монтировать том или bind-mount для сохранения логов между перезапусками.


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

PostgreSQL
ПеременнаяПо умолчаниюОписание
MS_API_DB_HOSTms-psqlХост PostgreSQL
MS_API_DB_PORT5432Порт PostgreSQL
MS_API_DB_NAMEr7mailserverИмя базы данных
MS_API_DB_USERr7mailuserПользователь БД
MS_API_DB_PWDsaSA123$Пароль пользователя БД
Домен
ПеременнаяПо умолчаниюОписание
MS_API_DOMAINlocalhostДомен почтового сервера
Экземпляр службы
ПеременнаяПо умолчаниюОписание
MS_API_INSTANCE_GUID(авто)GUID экземпляра; если пусто — генерируется при старте
MS_API_INSTANCE_NAMEapiИмя экземпляра в кластере
MS_API_INSTANCE_ROLEMailAdminApiРоль экземпляра
Администратор API
ПеременнаяПо умолчаниюОписание
MS_API_ADMIN_USERsuperadminЛогин встроенного администратора
MS_API_ADMIN_PWDsuperadminПароль встроенного администратора

Важно: смените пароль администратора в production-окружении.

HTTP-сервер
ПеременнаяПо умолчаниюОписание
MS_API_HTTP_ALLOWHOSTS*Разрешённые значения заголовка Host
MS_API_HTTP_LISTEN0.0.0.0IP-адрес прослушивания
MS_API_HTTP_PORT48033TCP-порт HTTP-сервера
MS_API_HTTP_TIMEOUT00:10:00Таймаут HTTP-запросов
Логирование
ПеременнаяПо умолчаниюОписание
MS_API_LOG_STORAGE/var/logКаталог файлов логов
MS_API_LOG_FILEms-api-${shortdate}.logШаблон имени файла (NLog)
MS_API_LOG_FORMAT(см. Dockerfile)Формат строки лога
MS_API_LOG_LEVELDebugУровень логирования
MS_API_LOG_MAXFILES30Число архивных файлов
MS_API_LOG_FILESIZE10485760Порог ротации, байт
MS_API_LOG_MAXDAYS14Срок хранения архивов, дней

Пример Docker Compose

services:
  ms-api:
    image: gromy/ms-api:latest
    hostname: ms-api
    env_file: .env
    ports:
      - "48033:48033"
    volumes:
      - api-logs:/var/log
    depends_on:
      ms-psql:
        condition: service_healthy

volumes:
  api-logs:

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

ОбразНазначение
ms-psqlPostgreSQL + схема БД
ms-frontendВеб-панель администрирования
ms-mtaSMTP-сервер (Postfix)
ms-mdaIMAP/LMTP (Dovecot)

Ссылки

  • GitLab — ms-api
  • Документация переменных окружения: README.md в репозитории

Tag summary

Content type

Image

Digest

sha256:dc02f4944

Size

221.3 MB

Last updated

about 3 hours ago

docker pull gromy/ms-api