Mail Admin Frontend — веб-панель администрирования Р7-Почтовый сервер.
Nginx отдаёт статику админ-панели и проксирует запросы к связанным службам (API, MCP, MailFilter, Processing, SpamProtect, SpamBackend). При старте рендерит vhost из Jinja2-шаблонов, настраивает TLS, генерирует конфиг подключения к PostgreSQL для Lua-эндпоинта /instances и ожидает доступности заданных бэкендов.
/opt/r7-mailserver/adminpanel/etc/nginx/conf.d/mailadmin.confdocker run -d \
--name ms-frontend \
--hostname ms-frontend \
-p 8080:80 \
-p 8443:443 \
-e MS_FRONTEND_HOSTNAME=mailadmin.example.com \
-e MS_FRONTEND_DB_HOST=ms-psql \
-e MS_FRONTEND_DB_PWD=secret \
-e MS_API_HOST=ms-api \
-e MS_MCP_HOST=ms-mcp \
-v ms-frontend-ssl:/app/ssl \
gromy/ms-frontend:latest
Минимально необходимо указать параметры подключения к PostgreSQL. Прокси-блоки nginx создаются только для служб, у которых заданы оба параметра *_HOST и *_PORT.
docker run --env-file .env --name ms-frontend \
-p 8080:80 -p 8443:443 \
-v ms-frontend-ssl:/app/ssl \
gromy/ms-frontend:latest
| Порт | Протокол | Описание |
|---|---|---|
80 | TCP | HTTP (редирект на HTTPS при MS_FRONTEND_SCHEME_REDIRECT=yes) |
443 | TCP | HTTPS, статика и reverse proxy |
| Путь в контейнере | Описание |
|---|---|
/app/ssl | TLS-сертификаты (MS_FRONTEND_CERT_PATH); при отсутствии файлов генерируется self-signed |
Рекомендуется монтировать том для сохранения сертификатов между перезапусками.
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_FRONTEND_APP_PATH | /app | Рабочий каталог контейнера |
MS_FRONTEND_STORAGE | /opt/r7-mailserver/adminpanel | Корень статики админ-панели (root в nginx) |
MS_FRONTEND_CERT_PATH | /app/ssl | Каталог TLS-сертификатов |
MS_FRONTEND_HOSTNAME | mailadmin.localhost | FQDN панели; из него вычисляются MS_FRONTEND_PREFIX и MS_FRONTEND_DOMAIN (15-derive-hostname.sh) |
MS_FRONTEND_PREFIX | (пусто) | Поддомен; заполняется автоматически из MS_FRONTEND_HOSTNAME |
MS_FRONTEND_DOMAIN | (пусто) | Домен; заполняется автоматически из MS_FRONTEND_HOSTNAME |
MS_FRONTEND_SCHEME_REDIRECT | yes | Редирект HTTP → HTTPS (yes / другое значение — без редиректа) |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_FRONTEND_SSL_CERT | /app/ssl/temp-cert.pem | Путь к сертификату; если файл отсутствует — генерируется self-signed (40-setup-ssl.sh) |
MS_FRONTEND_SSL_KEY | /app/ssl/temp-key.pem | Путь к закрытому ключу |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_FRONTEND_DB_HOST | ms-psql | Хост PostgreSQL; допускается список через запятую |
MS_FRONTEND_DB_PORT | 5432 | Порт PostgreSQL |
MS_FRONTEND_DB_NAME | r7mailserver | Имя базы данных |
MS_FRONTEND_DB_USER | r7mailuser | Пользователь БД |
MS_FRONTEND_DB_PWD | saSA123$ | Пароль пользователя БД |
Используются для генерации backend/config (эндпоинт /instances, 50-generate-instances-config.sh).
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_API_HOST | (пусто) | Хост ms-api; если пуст — location /mailapi, /api, /websocket, /swagger не создаются |
MS_API_PORT | 48033 | Порт ms-api |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_MCP_HOST | (пусто) | Хост ms-mcp; если пуст — location /mcp не создаётся |
MS_MCP_PORT | 5110 | Порт ms-mcp |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_MF_HOST | (пусто) | Хост ms-mailfilter; если пуст — filter-маршруты не создаются |
MS_MF_PORT | 5000 | Порт ms-mailfilter |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_PROCESSING_HOST | (пусто) | Хост ms-processing; если пуст — processing-маршруты не создаются |
MS_PROCESSING_PORT | 5002 | Порт ms-processing |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_SP_HOST | (пусто) | Хост ms-spamprotect; если пуст — spamprotect-маршруты не создаются |
MS_SP_PORT | 5100 | Порт ms-spamprotect |
| Переменная | По умолчанию | Описание |
|---|---|---|
MS_SB_HOST | (пусто) | Хост ms-spambackend; если пуст — spambackend-маршруты не создаются |
MS_SB_PORT | 5200 | Порт ms-spambackend |
Примечание: для каждой службы прокси включается только при непустых
*_HOSTи*_PORT. При старте контейнер ожидает TCP-доступности настроенных бэкендов (30-wait-services.sh).
services:
ms-frontend:
image: gromy/ms-frontend:latest
hostname: ms-frontend
env_file: .env
environment:
MS_FRONTEND_HOSTNAME: mailadmin.example.com
MS_API_HOST: ms-api
MS_MCP_HOST: ms-mcp
MS_MF_HOST: ms-mailfilter
MS_PROCESSING_HOST: ms-processing
MS_SP_HOST: ms-spamprotect
MS_SB_HOST: ms-spambackend
ports:
- "8080:80"
- "8443:443"
volumes:
- frontend-ssl:/app/ssl
depends_on:
ms-psql:
condition: service_healthy
ms-api:
condition: service_started
volumes:
frontend-ssl:
| Образ | Назначение |
|---|---|
ms-psql | PostgreSQL + схема БД |
ms-api | REST API админ-панели |
ms-mcp | MCP-сервер |
ms-mailfilter | Фильтрация почты |
ms-processing | Обработка вложений |
ms-spamprotect | Антиспам (milter) |
ms-spambackend | Spam-бэкенд |
README.md в репозиторииContent type
Image
Digest
sha256:4948a9850…
Size
104.1 MB
Last updated
about 15 hours ago
docker pull gromy/ms-frontend