Переменные окружения
Любую настройку сервера Loop из config.json можно задать переменной окружения. Так удобно настраивать Loop в Docker и Kubernetes, а пароли и ключи хранить вне файла конфигурации.
Как это работает
- Имя переменной строится из пути к настройке в
config.json:MM_, затем названия раздела и настройки заглавными буквами через_. Например,ServiceSettings.SiteURL→MM_SERVICESETTINGS_SITEURL. - Переменная важнее файла. Если настройка задана и в
config.json, и переменной, действует значение переменной. - В Системной консоли такая настройка недоступна для изменения, рядом с ней показывается пометка о том, что она задана переменной окружения.
- В
config.jsonзначение переменной не записывается. Если убрать переменную, снова будет действовать значение из файла. - Переменные читаются при запуске. После изменения перезапустите сервер.
- Значения по умолчанию в таблицах — те, что получает новый сервер. Они немного различаются в зависимости от того, где хранится конфигурация: в файле
config.jsonиз дистрибутива или в базе данных (MM_CONFIG=postgres://…; так настроены docker-compose и Helm-чарты Loop). Где значения различаются, указаны оба. У серверов, обновлённых со старых версий, значения могут отличаться — фактические видны в Системной консоли. - Флаги функций (
MM_FEATUREFLAGS_*) задавайте только переменными окружения: сервер не хранит их вconfig.jsonи убирает разделFeatureFlagsиз файла при перезаписи. - Часть функций работает только с лицензией Loop — это указано в начале соответствующего подраздела. Без лицензии такие переменные ни на что не влияют.
- Неверное значение молча игнорируется. Например,
MM_SERVICESETTINGS_ENABLEDEVELOPER=yesне включит режим разработчика — сервер оставит прежнее значение. Проверяйте формат по таблице ниже.
Как задать
В Docker Compose — в разделе environment сервиса Loop:
services:
loop:
environment:
MM_SERVICESETTINGS_SITEURL: https://loop.example.com
MM_SQLSETTINGS_DATASOURCE: postgres://loop:password@postgres:5432/loop?sslmode=disable&connect_timeout=10
MM_FILESETTINGS_DRIVERNAME: amazons3
В systemd — параметрами Environment= или EnvironmentFile= в разделе [Service]:
[Service]
EnvironmentFile=/opt/loop/config/loop.env
Файл loop.env содержит строки вида MM_SERVICESETTINGS_SITEURL=https://loop.example.com.
Формат значений
| Тип | Как задать | Пример |
|---|---|---|
| Строка | Как есть | MM_TEAMSETTINGS_SITENAME=Loop |
| Число | Целое число | MM_FILESETTINGS_MAXFILESIZE=209715200 |
| Логическое | true или false (также 1/0, TRUE/FALSE). Значения yes, on не принимаются | MM_SERVICESETTINGS_ENABLEDEVELOPER=false |
| Список | Элементы через один пробел | MM_SQLSETTINGS_DATASOURCEREPLICAS="postgres://…@replica1/loop postgres://…@replica2/loop" |
| Объект | JSON. Заменяет значение целиком | MM_PLUGINSETTINGS_PLUGINSTATES='{"com.mattermost.calls":{"Enable":true}}' |
Спецсимволы в пароле внутри MM_SQLSETTINGS_DATASOURCE и строк реплик кодируйте для URL: @ → %40, : → %3A, / → %2F. Иначе сервер неправильно разберёт строку подключения.
Переменные вне config.json
Эти переменные не соответствуют настройкам config.json.
| Переменная | Описание |
|---|---|
MM_CONFIG | Где хранится конфигурация: путь к файлу или строка подключения к базе данных (postgres://…), если конфигурация хранится в базе. По умолчанию — config.json в каталоге config. Параметр запуска --config важнее переменной |
MM_LICENSE | Содержимое файла лицензии. Заменяет лицензию, сохранённую в базе данных, но не удаляет её. Если лицензия в переменной недействительна, сервер запускается без лицензии. В кластере действует только на том узле, где задана |
MM_CUSTOM_DEFAULTS_PATH | Путь к JSON-файлу в формате config.json со своими значениями по умолчанию. Они применяются только к настройкам, которых нет в текущей конфигурации, — например, при первом запуске с пустой конфигурацией в базе данных |
MM_OPENIDSETTINGS_CUSTOMUSERNAMEATTRIBUTE | Имя поля в данных пользователя OpenID Connect, из которого берётся имя пользователя Loop. Если в поле адрес почты, берётся часть до @. Если не задана — используются поля nickname, preferred_username, username, name, а если их нет — имя и фамилия. Имя переводится в латиницу. Только для входа через OpenID Connect |
MM_OPENIDSETTINGS_CUSTOMUSERNAMEDELIMITERATTRIBUTE | Символ, которым заменяются ., - и _ в имени пользователя при входе через OpenID Connect |
MM_EXPERIMENTALAUDITSETTINGS_ADDITIONAL | Дополнительные цели журнала аудита в JSON. Добавляются к целям из ExperimentalAuditSettings |
CDN_URL | Адрес CDN, с которого браузер загружает статические файлы веб-приложения (/static/). Если не задан — файлы отдаёт сервер Loop |
MM_SERVICEENVIRONMENT | Тип окружения: production, test или dev. В сборках Loop по умолчанию production. Не меняйте |
Служебные переменные облачной версии, телеметрии и разработки — MM_CLOUD_*, CWS_CLOUD_TOKEN, MM_INSTALL_TYPE, MM_NOTIFY_ADMIN_COOL_OFF_DAYS, MM_RESEND_INVITATION_EMAIL_JOB_DURATION, RudderKey, RudderDataplaneURL, AWS_REGION, SENTRY_WEBAPP_*, POSTHOG_API_* — на своём сервере не задавайте.
Сервер и сеть
Адрес и веб-сервер
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | — | Адрес, по которому пользователи открывают Loop, например https://loop.example.com. Используется в ссылках в письмах и уведомлениях, для OAuth и SAML. Обязательно задайте при установке. |
MM_ | :8065 | Адрес и порт, на которых сервер принимает подключения. :8065 — все сетевые интерфейсы, 127.0.0.1:8065 — только локальные подключения. |
MM_ | — | Отдельный адрес для WebSocket-подключений, например wss://ws.loop.example.com. Используют веб-, настольное и мобильное приложения и звонки. Если пусто — подключение идёт по адресу из SiteURL. |
MM_ | 443 | Порт WebSocket для веб- и настольного приложения при HTTPS. Используется, только если WebsocketURL пуст и в SiteURL не указан порт. Если Loop работает за прокси на нестандартном порту, укажите его в SiteURL. |
MM_ | 80 | Порт WebSocket для веб- и настольного приложения при HTTP. Используется, только если WebsocketURL пуст и в SiteURL не указан порт. |
MM_ | gzip | Как сервер отдаёт файлы веб-приложения: gzip — со сжатием, uncompressed — без сжатия, disabled — не отдаёт (веб-интерфейс недоступен). |
MM_ | — | Пути на сервере Loop через запятую, которые обслуживает другой сервис, например conference,wiki. Ссылки на них в сообщениях открываются в новой вкладке, а не внутри Loop. |
TLS и HTTPS
Нужны, только если HTTPS обслуживает сам Loop, а не прокси-сервер перед ним.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | — | Шифрование подключений к серверу: пусто — без TLS (обычно TLS завершает прокси-сервер), TLS — сервер сам принимает HTTPS. Для TLS задайте сертификат и ключ или включите Let's Encrypt. |
MM_ | — | Путь к файлу сертификата, если ConnectionSecurity = TLS. |
MM_ | — | Путь к файлу закрытого ключа, если ConnectionSecurity = TLS. |
MM_ | 1.2 | Минимальная версия TLS: 1.0, 1.1 или 1.2. Любое другое значение, включая 1.3, считается 1.2. |
MM_ | false | Добавлять заголовок Strict-Transport-Security (HSTS) к ответам сервера. |
MM_ | 63072000 | Срок действия HSTS в секундах (max-age). По умолчанию — 2 года. |
MM_ | — | Список разрешённых шифров TLS через пробел, например TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. Если пусто — безопасный набор по умолчанию. |
MM_ | false | Автоматически получать сертификат Let's Encrypt. Требует ConnectionSecurity = TLS, порт :443 и включённый Forward80To443. |
MM_ | ./config/letsencrypt.cache | Файл, в котором хранятся сертификаты Let's Encrypt. |
MM_ | false | Перенаправлять HTTP-запросы с порта 80 на HTTPS. Работает, только если сервер слушает порт 443 с TLS. |
Прокси и CORS
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | — | Заголовки, из которых берётся IP-адрес клиента за прокси, через пробел — например X-Forwarded-For X-Real-IP. Если пусто — используется адрес подключения. Указывайте, только если перед Loop стоит прокси, который перезаписывает эти заголовки. |
MM_ | false | Выдавать cookie сессии на домен из SiteURL, чтобы они были доступны поддоменам. |
MM_ | — | Домены через пробел, с которых разрешены кросс-доменные запросы (CORS), или * для любых. |
MM_ | — | Заголовки через пробел, доступные клиенту при CORS-запросах. |
MM_ | false | Добавлять к CORS-ответам заголовок Access-Control-Allow-Credentials. |
MM_ | false | Писать в журнал сведения об отклонённых CORS-запросах. |
Таймауты и размер запросов
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | 300 | Максимальное время в секундах на чтение запроса целиком, включая тело. |
MM_ | 300 | Максимальное время в секундах на запись ответа. |
MM_ | 60 | Время в секундах, в течение которого простаивающее keep-alive-соединение остаётся открытым. |
MM_ | 300000 | Максимальный размер тела входящего запроса в байтах, кроме загрузки файлов. |
Ограничение частоты запросов
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Ограничивать частоту запросов к API. |
MM_ | 10 | Разрешённое число запросов в секунду. |
MM_ | 100 | Сколько запросов сверх PerSec можно выполнить разом. |
MM_ | 10000 | Сколько клиентов (адресов, пользователей) сервер отслеживает одновременно. |
MM_ | true | Считать лимит отдельно для каждого IP-адреса. |
MM_ | false | Считать лимит отдельно для каждого пользователя. |
MM_ | — | Считать лимит по значению HTTP-заголовка, например X-Real-IP, если Loop работает за прокси. |
Исходящие подключения
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | — | Внутренние адреса, к которым сервер может обращаться по запросу пользователей (вебхуки, предпросмотр ссылок, плагины), через пробел: имена хостов, IP-адреса или подсети, например 127.0.0.1 builds.internal 10.0.0.0/8. По умолчанию запросы к localhost и частным сетям запрещены. |
MM_ | false | Разрешить исходящие HTTPS-запросы к серверам с непроверенными (например, самоподписанными) сертификатами. Небезопасно. |
Прокси изображений
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Загружать внешние изображения в сообщениях через прокси. |
MM_ | local | Тип прокси: local — встроенный в Loop, atmos/camo — внешний сервер Atmos/Camo. |
MM_ | — | Адрес внешнего прокси изображений. |
MM_ | — | Параметры внешнего прокси, например ключ подписи адресов. |
База данных
Подключение
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | postgres | Драйвер базы данных. Loop поддерживает только PostgreSQL (postgres). |
MM_ | тестовое значение | Строка подключения к основной базе, например postgres://loop:пароль@db:5432/loop?sslmode=disable&connect_timeout=10. Значение по умолчанию тестовое — задайте своё. Спецсимволы в пароле кодируйте для URL (@ → %40). |
MM_ | — | Строки подключения к репликам для чтения через пробел. |
MM_ | — | Строки подключения к репликам для поиска через пробел. Если пусто — поиск идёт через реплики для чтения. |
MM_ | 5 | Как часто в секундах проверять доступность реплик. |
MM_ | — | Проверка отставания реплик (массив объектов). Нельзя задать переменной окружения — сервер не разбирает её значение. Настраивайте в config.json. |
Пул соединений и таймауты
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | 20 | Максимальное число простаивающих соединений с базой. |
MM_ | 300 | Максимальное число открытых соединений с базой. |
MM_ | 3600000 | Максимальное время жизни соединения с базой в миллисекундах. |
MM_ | 300000 | Через сколько миллисекунд простоя соединение закрывается. |
MM_ | 30 | Время ожидания ответа базы на запрос в секундах. |
MM_ | 100000 | Время ожидания одного запроса миграции схемы в секундах. |
MM_ | false | Писать все SQL-запросы в журнал. Только для отладки. |
Безопасность и сессии
Сессии
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | файл: 720БД: 4320 | Срок сессии в браузере и настольном приложении в часах. |
MM_ | файл: 720БД: 4320 | Срок сессии в мобильном приложении в часах. |
MM_ | 720 | Срок сессии при входе через SSO (GitLab, OpenID Connect, SAML и др.) в часах. |
MM_ | true | Продлевать сессию, пока пользователь активен. В Loop по умолчанию включено (в Mattermost — только для новых установок). |
MM_ | 43200 | Через сколько минут бездействия завершается сессия в браузере и настольном приложении. Действует, только если ExtendSessionLengthWithActivity = false. 0 — не завершать. |
MM_ | файл: trueБД: false | Завершать все сессии пользователя при смене пароля. |
MM_ | 10 | Время хранения сессий в кэше сервера в минутах. |
Пароли и блокировка входа
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | 8 | Минимальная длина пароля (от 5 до 72 символов). |
MM_ | false | Требовать строчную букву. |
MM_ | false | Требовать цифру. |
MM_ | false | Требовать заглавную букву. |
MM_ | false | Требовать спецсимвол. |
MM_ | true | Показывать на странице входа ссылку «Забыли пароль?». |
MM_ | 10 | Число неудачных попыток входа подряд, после которого вход с паролем блокируется. Счётчик обнуляется при смене или сбросе пароля. |
Многофакторная аутентификация
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить пользователям включать многофакторную аутентификацию (MFA). |
MM_ | false | Требовать MFA от всех пользователей, входящих по паролю или через AD/LDAP. Работает только с лицензией. |
Защита сервера
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Усиленный режим безопасности: сервер скрывает подробности внутренних ошибок (5xx), не сообщает, существует ли адрес при сбросе пароля, и запрещает обычным пользователям задавать в сообщениях служебные свойства интеграций (например, from_webhook, override_username). |
MM_ | false | Строгая проверка CSRF-токена: запросы с cookie-сессией без токена отклоняются. Если выключено — только записываются в журнал на уровне DEBUG. |
MM_ | false | Ограничить системных администраторов: они не могут менять защищённые настройки сервера (подключение к базе, хранилище, TLS и др.), перезагружать конфигурацию, управлять кластером и индексами поиска. |
MM_ | true | Получать от loop.ru уведомления о выходе исправлений безопасности. Уведомления приходят системным администраторам. |
MM_ | false | Разрешить вход по клиентскому сертификату. Действует только с лицензией. |
MM_ | secondary | Способ входа по сертификату: primary — вход по адресу почты из сертификата без пароля, secondary — адрес из сертификата должен совпасть с введённым, дальше обычный вход с паролем. |
Конфиденциальность
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Показывать адреса почты всем пользователям. Если выключено — только системным администраторам. |
MM_ | true | Показывать имена и фамилии всем пользователям. Если выключено — только системным администраторам, остальные видят имя пользователя. |
Регистрация и вход
Регистрация
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Разрешить регистрацию новых пользователей. |
MM_ | false | Разрешить регистрацию без приглашения. |
MM_ | — | Домены почты через запятую или пробел, с которыми разрешено регистрироваться и вступать в команды, например example.com,example.org. Если пусто — без ограничений. |
MM_ | файл: falseБД: true | Разрешить приглашать пользователей по электронной почте. |
MM_ | true | Разрешить регистрацию по адресу почты и паролю. |
MM_ | false | Требовать подтверждение адреса почты после регистрации. |
Вход по почте и имени пользователя
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Разрешить вход по адресу почты и паролю. |
MM_ | true | Разрешить вход по имени пользователя и паролю. |
MM_ | true | Разрешить пользователям сменить способ входа (например, с пароля на AD/LDAP или SSO). Запрет действует только с лицензией; без неё смена всегда разрешена. |
MM_ | — | Своя ссылка «Забыли пароль?» на странице входа. Если пусто — открывается сброс пароля Loop. |
AD/LDAP
Работает только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить вход через AD/LDAP. |
MM_ | false | Периодически синхронизировать пользователей и группы с AD/LDAP. |
MM_ | — | Адрес сервера AD/LDAP. |
MM_ | 389 | Порт сервера AD/LDAP. |
MM_ | — | Шифрование подключения: пусто — без шифрования, TLS — LDAPS, STARTTLS — переход на TLS после подключения. |
MM_ | — | DN ветки, в которой Loop ищет пользователей и группы, например ou=users,dc=example,dc=com. |
MM_ | — | Учётная запись для поиска в каталоге. Рекомендуется учётная запись только для чтения. |
MM_ | — | Пароль учётной записи для поиска. |
MM_ | — | Фильтр LDAP для пользователей, которым разрешён вход, например (memberOf=cn=loop,ou=groups,dc=example,dc=com). |
MM_ | — | Фильтр LDAP для групп, которые синхронизируются в Loop. |
MM_ | — | Фильтр LDAP для пользователей, которые входят как гости. Требует включённых гостевых учётных записей. |
MM_ | false | Назначать системными администраторами пользователей из AdminFilter. |
MM_ | — | Фильтр LDAP для системных администраторов. |
MM_ | — | Атрибут с отображаемым названием группы. |
MM_ | — | Атрибут с уникальным идентификатором группы. |
MM_ | — | Атрибут, значение которого используется для упоминания группы (@имя). |
MM_ | — | Атрибут с именем пользователя, например givenName. |
MM_ | — | Атрибут с фамилией, например sn. |
MM_ | — | Атрибут с адресом почты, например mail. |
MM_ | — | Атрибут с именем пользователя в Loop, например sAMAccountName. |
MM_ | — | Атрибут с псевдонимом. |
MM_ | — | Атрибут с уникальным неизменяемым идентификатором пользователя, например objectGUID. |
MM_ | — | Атрибут с должностью, например title. |
MM_ | — | Атрибут, который пользователь вводит при входе, например sAMAccountName или mail. |
MM_ | — | Атрибут с фотографией профиля, например thumbnailPhoto. |
MM_ | 60 | Интервал синхронизации с AD/LDAP в минутах. |
MM_ | false | Не проверять сертификат сервера AD/LDAP. Небезопасно. |
MM_ | — | Файл клиентского сертификата TLS для подключения к AD/LDAP. |
MM_ | — | Файл закрытого ключа клиентского сертификата TLS. |
MM_ | — | Файл сертификата своего удостоверяющего центра для проверки сертификата AD/LDAP. |
MM_ | 60 | Время ожидания ответа AD/LDAP в секундах. |
MM_ | 0 | Сколько записей запрашивать за раз (постраничный поиск). 0 — без разбивки на страницы. |
MM_ | — | Подсказка в поле логина на странице входа. |
SAML 2.0
Работает только с лицензией. Адрес входа и сертификаты поставщика удостоверений Loop берёт из метаданных по адресу IdpMetadataURL.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить вход через SAML 2.0. |
MM_ | false | Синхронизировать пользователей SAML с AD/LDAP (атрибуты, деактивация). Требует настроенного AD/LDAP. |
MM_ | true | Если включено, сервер требует задать AssertionConsumerServiceURL. На сам вход не влияет. |
MM_ | true | Если включено, сервер требует задать PrivateKeyFile и PublicCertificateFile. На сам вход не влияет. |
MM_ | false | Подписывать запросы SAML закрытым ключом поставщика услуг. |
MM_ | — | Адрес входа поставщика удостоверений (SSO URL). Обязателен при включённом SAML, но при входе Loop берёт адрес из метаданных. |
MM_ | — | Идентификатор (Issuer) поставщика удостоверений. Обязателен при включённом SAML, но при входе Loop берёт значение из метаданных. |
MM_ | — | Адрес метаданных поставщика удостоверений. Обязателен: из него Loop получает адрес входа и сертификаты. |
MM_ | — | Идентификатор поставщика услуг (Entity ID), обычно совпадает с AssertionConsumerServiceURL. |
MM_ | — | Адрес Loop, на который поставщик удостоверений возвращает ответ: https://<адрес-loop>/login/sso/saml. |
MM_ | RSAwithSHA1 | Проверяется при сохранении (RSAwithSHA1, RSAwithSHA256 или RSAwithSHA512), но на подпись запросов не влияет. |
MM_ | Canonical1.0 | Проверяется при сохранении (Canonical1.0 или Canonical1.1), но на вход не влияет. |
MM_ | — | Файл публичного сертификата поставщика удостоверений. Обязателен. |
MM_ | — | Файл публичного сертификата поставщика услуг (Loop). |
MM_ | — | Файл закрытого ключа поставщика услуг (Loop). |
MM_ | — | Атрибут SAML с уникальным идентификатором пользователя. |
MM_ | — | Условие в формате атрибут=значение: пользователи, у которых оно выполняется, входят как гости. |
MM_ | false | Назначать системными администраторами пользователей по AdminAttribute. |
MM_ | — | Условие в формате атрибут=значение для системных администраторов. |
MM_ | — | Атрибут SAML с именем. |
MM_ | — | Атрибут SAML с фамилией. |
MM_ | — | Атрибут SAML с адресом почты. Обязателен. |
MM_ | — | Атрибут SAML с именем пользователя. Обязателен. |
MM_ | — | Атрибут SAML с псевдонимом. |
MM_ | — | Атрибут SAML с языком интерфейса. |
MM_ | — | Атрибут SAML с должностью. |
MM_ | SAML | Текст кнопки входа через SAML. |
OpenID Connect
Работает только с лицензией. Как задать имя пользователя, приходящее от провайдера, — в разделе Переменные вне config.json.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить вход и регистрацию через OpenID Connect. |
MM_ | — | Client secret у провайдера. |
MM_ | — | Client ID у провайдера. |
MM_ | profile openid email | Запрашиваемые области доступа. |
MM_ | — | Адрес авторизации. Если заданы все три адреса (AuthEndpoint, TokenEndpoint, UserAPIEndpoint), DiscoveryEndpoint не используется. |
MM_ | — | Адрес получения токена. |
MM_ | — | Адрес получения данных пользователя (userinfo). |
MM_ | — | Адрес документа обнаружения, например https://id.example.com/.well-known/openid-configuration. По нему Loop получает остальные адреса. |
MM_ | — | Текст кнопки входа. |
MM_ | #145DBF | Цвет кнопки входа (HEX). |
GitLab
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить вход и регистрацию через GitLab. |
MM_ | — | Secret приложения GitLab. |
MM_ | — | Application ID приложения GitLab. |
MM_ | — | Запрашиваемые области доступа OAuth. |
MM_ | — | Адрес авторизации, например https://gitlab.example.com/oauth/authorize. |
MM_ | — | Адрес получения токена, например https://gitlab.example.com/oauth/token. |
MM_ | — | Адрес API пользователя, например https://gitlab.example.com/api/v4/user. |
MM_ | — | Текст кнопки входа через GitLab. |
MM_ | — | Цвет кнопки входа через GitLab (HEX). |
Google
Работает только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить вход и регистрацию через Google. |
MM_ | — | Client secret из Google Cloud Console. |
MM_ | — | Client ID из Google Cloud Console. |
MM_ | profile email | Запрашиваемые области доступа OAuth. |
MM_ | https://accounts.google.com/o/oauth2/v2/auth | Адрес авторизации Google. |
MM_ | https://www.googleapis.com/oauth2/v4/token | Адрес получения токена Google. |
MM_ | https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata | Адрес API профиля Google. |
MM_ | — | Адрес документа обнаружения OpenID Connect. Используется, только если не задан какой-либо из адресов AuthEndpoint, TokenEndpoint, UserAPIEndpoint. |
Microsoft Entra ID (Office 365)
Работает только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить вход и регистрацию через Microsoft Entra ID. |
MM_ | — | Секрет клиента приложения. |
MM_ | — | Идентификатор приложения (Application ID). |
MM_ | User.Read | Запрашиваемые области доступа OAuth. |
MM_ | https://login.microsoftonline.com/common/oauth2/v2.0/authorize | Адрес авторизации. Чтобы пускать только пользователей своего каталога, замените common на идентификатор каталога. |
MM_ | https://login.microsoftonline.com/common/oauth2/v2.0/token | Адрес получения токена. Чтобы пускать только пользователей своего каталога, замените common на идентификатор каталога. |
MM_ | https://graph.microsoft.com/v1.0/me | Адрес API профиля Microsoft Graph. |
MM_ | — | Адрес документа обнаружения OpenID Connect. Используется, только если не задан какой-либо из адресов AuthEndpoint, TokenEndpoint, UserAPIEndpoint. |
Гостевые учётные записи
Работают только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить гостевые учётные записи. |
MM_ | false | Не показывать метку «Гость» рядом с именами гостей. |
MM_ | false | Требовать MFA от гостей. |
MM_ | — | Домены почты через запятую, с которых можно приглашать гостей. Если пусто — с любых. |
Команды, каналы и пользователи
Команды и каналы
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | 50 | Максимальное число участников в одной команде. Учитываются только активные участники. |
MM_ | 2000 | Максимальное число каналов в команде, включая архивные. |
MM_ | — | Имя (из адреса) основной команды. Если задано, после входа пользователь попадает в неё, а пункт «Покинуть команду» для неё скрыт. |
MM_ | — | Каналы через пробел (имена из адреса канала), в которые автоматически добавляются новые участники команды. Канал «Общий» (general) добавляется всегда. Если пусто — также добавляется канал offtop. |
MM_ | true | Разрешить просматривать и искать архивные каналы. |
MM_ | true | Публиковать в канале «Общий» системные сообщения о входе и выходе участников команды. |
MM_ | true | Показывать по умолчанию системные сообщения о входе и выходе участников канала. Пользователь может изменить это в своих настройках. |
MM_ | false | Включить закладки каналов. |
Пользователи
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | username | Как показывать имена по умолчанию: username — имя пользователя, nickname_full_name — псевдоним или полное имя, full_name — полное имя. |
MM_ | false | Запретить пользователям менять формат отображения имён. Работает только с лицензией. |
MM_ | any | С кем можно переписываться в личных сообщениях: any — со всеми пользователями сервера, team — только с участниками своих команд. |
MM_ | false | Разрешить пользователям деактивировать свою учётную запись. |
MM_ | true | Разрешить создавать пользовательские группы. Работает только с лицензией. |
MM_ | false | Гости видят только группы, в которых состоят. |
MM_ | true | Включить дополнительные атрибуты профиля пользователей, в том числе их синхронизацию из AD/LDAP и SAML. |
Статусы
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Отслеживать и показывать статусы пользователей (в сети, отошёл, не беспокоить). |
MM_ | 300 | Через сколько секунд бездействия статус меняется на «Отошёл». |
MM_ | true | Разрешить пользователям задавать свой статус с эмодзи и текстом. |
MM_ | true | Показывать время последней активности пользователя. |
MM_ | false | Разрешить пользователям включать автоответ в настройках уведомлений. |
Удаление через API
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить безвозвратное удаление пользователей через API. |
MM_ | false | Разрешить безвозвратное удаление команд через API. |
MM_ | false | Разрешить безвозвратное удаление каналов через API. |
Общие каналы
Работают только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Включить общие каналы с другими серверами Loop. |
MM_ | false | Включить службу подключения к другим серверам. |
MM_ | false | Не синхронизировать статусы пользователей между серверами. |
MM_ | false | Синхронизировать пользователей при установке подключения к другому серверу. |
MM_ | 25 | Сколько пользователей передаётся за раз при синхронизации. |
MM_ | 50 | Максимальное число сообщений за одну синхронизацию. |
MM_ | 20 | Сколько участников канала передаётся за раз при синхронизации. |
MM_ | false | Показывать общие каналы в мобильном приложении и разрешения для общих каналов в схемах разрешений Системной консоли. Сами общие каналы на сервере включает ConnectedWorkspacesSettings.EnableSharedChannels — задайте обе настройки одинаково. |
MM_ | false | Синхронизировать личные и групповые сообщения между подключёнными серверами. |
MM_ | false | Синхронизировать участников общих каналов. |
MM_ | false | Синхронизировать всех пользователей с подключёнными серверами. |
Перемещение тредов
Работает только с лицензией и включённым флагом MM_FEATUREFLAGS_MOVETHREADSENABLED.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Разрешить перемещать треды в другие каналы. Действует только с лицензией. Параметры — в разделе WranglerSettings. |
MM_ | — | Роли через пробел, которым разрешено перемещать треды, например system_admin team_admin. Если пусто — всем. |
MM_ | — | Домены почты через пробел: перемещать треды могут только пользователи с адресами в них. Если пусто — без ограничения. |
MM_ | 100 | Максимальное число сообщений в перемещаемом треде. 0 — без ограничения. |
MM_ | false | Разрешить перемещать треды в каналы другой команды. |
MM_ | false | Разрешить перемещать треды из приватных каналов. |
MM_ | false | Разрешить перемещать треды из личных сообщений. |
MM_ | false | Разрешить перемещать треды из групповых сообщений. |
Сообщения
Отправка и редактирование
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | -1 | Сколько секунд после отправки можно редактировать сообщение. -1 — без ограничения. |
MM_ | -1 | Сколько секунд после отправки можно удалить сообщение. -1 — без ограничения. |
MM_ | true | Разрешить отложенные сообщения. |
MM_ | true | Разрешить повторяющиеся сообщения. |
MM_ | true | Синхронизировать черновики между устройствами через сервер. |
MM_ | true | Разрешить при ответе в треде одновременно отправлять ответ в канал. |
MM_ | true | Предпросмотр пересланного сообщения и его файлы видят все, кому оно переслано, даже если у них нет доступа к исходному каналу. |
MM_ | true | Разрешить голосовые сообщения. |
MM_ | false | Разрешить видеосообщения. |
Треды
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | always_on | Свёрнутые треды: always_on — всегда включены, default_on — включены, пользователь может выключить, default_off — выключены, пользователь может включить, disabled — выключены. |
MM_ | true | Автоматически подписывать пользователей на треды, в которых они участвуют. Нужна для свёрнутых тредов. |
Упоминания и приоритет
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | 1000 | Если участников в канале больше, упоминания @all, @here и @channel не отправляют уведомлений. |
MM_ | true | Спрашивать подтверждение перед отправкой @all, @channel, @here и упоминаний групп в каналах с более чем 5 участниками. |
MM_ | true | Разрешить отмечать сообщения как важные и срочные. |
MM_ | true | Разрешить повторяющиеся уведомления для срочных сообщений. |
MM_ | false | Разрешить гостям отправлять повторяющиеся уведомления. |
MM_ | 5 | Интервал между повторяющимися уведомлениями в минутах. |
MM_ | 6 | Сколько раз повторяется уведомление. |
MM_ | 5 | Максимальное число получателей повторяющихся уведомлений. |
Форматирование
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | файл: falseБД: true | Отображать LaTeX в блоках кода с языком latex. |
MM_ | true | Отображать встроенные формулы LaTeX ($...$) в тексте сообщений. |
MM_ | true | Отображать диаграммы Mermaid в блоках кода с языком mermaid. |
MM_ | файл: falseБД: true | Показывать предпросмотр SVG-изображений. |
MM_ | 3 | Минимальная длина хештега в символах. |
MM_ | — | Дополнительные схемы адресов через пробел, которые превращаются в ссылки в сообщениях, например git ssh. |
MM_ | 0 | Максимальное число элементов Markdown в сообщении в мобильном приложении. 0 — без ограничения. |
Эмодзи и GIF
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Показывать панель выбора эмодзи. |
MM_ | true | Разрешить пользователям добавлять свои эмодзи. |
MM_ | 50 | Максимальное число разных эмодзи-реакций на одно сообщение (не больше 500). |
MM_ | true | Показывать выбор GIF в панели эмодзи. |
MM_ | giphy | Сервис GIF: giphy или klipy. |
MM_ | — | Ключ Giphy SDK. Если пусто — используется встроенный ключ Loop. |
MM_ | — | Ключ Klipy SDK. Если пусто — используется встроенный ключ Loop. |
Предпросмотр ссылок
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Показывать предпросмотр веб-страниц, изображений и видео по ссылкам в сообщениях. |
MM_ | true | Показывать предпросмотр сообщения Loop по ссылке на него. |
MM_ | — | Домены через запятую, для ссылок на которые предпросмотр не показывается, например internal.example.com,example.org. |
MM_ | — | Ключ Google API. Нужен, чтобы в предпросмотре ссылок YouTube показывалось название видео. |
MM_ | 5000 | Время ожидания данных для предпросмотра ссылки в миллисекундах. |
Файлы и хранилище
Загрузка файлов
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Разрешить прикреплять файлы к сообщениям. |
MM_ | 104857600 | Максимальный размер файла в байтах. По умолчанию — 100 МБ. Если перед Loop стоит прокси, увеличьте лимит и в нём. |
MM_ | true | Разрешить загружать файлы из мобильного приложения. Действует только с лицензией; без неё загрузка всегда разрешена. |
MM_ | true | Разрешить скачивать файлы в мобильном приложении. Действует только с лицензией; без неё скачивание всегда разрешено. |
MM_ | false | Разрешить публичные ссылки на файлы, доступные без входа в Loop. |
MM_ | генерируется | Соль для подписи публичных ссылок (32 символа). Если пусто, генерируется при первом запуске. После смены все выданные публичные ссылки перестают работать. |
Изображения, видео и документы
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | 33177600 | Максимальное разрешение изображения в пикселях (ширина × высота). Изображения больше загрузить нельзя. По умолчанию — 7680 × 4320. |
MM_ | -1 | Сколько изображений сервер обрабатывает одновременно. -1 — по числу ядер процессора. |
MM_ | nunito-bold.ttf | Шрифт для изображений профиля по умолчанию (с инициалами) — файл из каталога fonts. |
MM_ | true | Создавать обложки для загруженных видео из кадра в начале ролика. |
MM_ | true | Извлекать текст из документов (PDF, DOCX, ODT и др.), чтобы их можно было найти по содержимому. |
MM_ | false | Искать также по содержимому документов внутри ZIP-архивов. Увеличивает нагрузку на сервер. |
Хранилище файлов
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | local | Хранилище файлов: local — каталог на сервере, amazons3 — S3-совместимое хранилище. |
MM_ | ./data/ | Каталог локального хранилища. |
MM_ | — | Ключ доступа к S3. Если ключ и секрет не заданы, используются учётные данные роли IAM (для AWS). |
MM_ | — | Секретный ключ доступа к S3. |
MM_ | — | Имя бакета. |
MM_ | — | Префикс (каталог) внутри бакета, в котором Loop хранит файлы. |
MM_ | — | Регион S3. Если пусто, определяется автоматически. |
MM_ | s3.amazonaws.com | Адрес S3-хранилища без протокола, например storage.yandexcloud.net или minio:9000. |
MM_ | true | Подключаться к S3 по HTTPS. |
MM_ | false | Использовать подпись запросов AWS Signature V2 вместо V4. Нужно только для старых S3-совместимых хранилищ. |
MM_ | false | Шифрование файлов на стороне сервера S3 (SSE-S3). Действует только с лицензией. |
MM_ | false | Писать в журнал подробности запросов к S3. Только для отладки. |
MM_ | 30000 | Время ожидания ответа S3 в миллисекундах. |
MM_ | 5242880 | Размер части при составной загрузке в S3, в байтах. |
Импорт и экспорт
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | ./import | Каталог в хранилище файлов, куда загружаются архивы для импорта. |
MM_ | 30 | Через сколько дней удалять загруженные архивы импорта. 0 — не удалять. |
MM_ | ./export | Каталог в хранилище файлов, куда сохраняются файлы экспорта. |
MM_ | 30 | Через сколько дней удалять файлы экспорта. 0 — не удалять. |
MM_ | false | Разрешить скачивать файлы экспорта по ссылке (/exportlink). |
Отдельное хранилище экспорта
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Хранить файлы экспорта (mmctl export) в отдельном хранилище, заданном настройками Export*. |
MM_ | local | Отдельное хранилище экспорта: local или amazons3. |
MM_ | ./data/ | Каталог отдельного хранилища экспорта. |
MM_ | — | Ключ доступа к S3 для хранилища экспорта. |
MM_ | — | Секретный ключ S3 для хранилища экспорта. |
MM_ | — | Бакет хранилища экспорта. |
MM_ | — | Префикс внутри бакета хранилища экспорта. |
MM_ | — | Регион S3 хранилища экспорта. |
MM_ | s3.amazonaws.com | Адрес S3 хранилища экспорта без протокола. |
MM_ | true | Подключаться к S3 хранилища экспорта по HTTPS. |
MM_ | false | Подпись AWS Signature V2 для хранилища экспорта. |
MM_ | false | Шифрование на стороне S3 для хранилища экспорта. Действует только с лицензией. |
MM_ | false | Писать в журнал подробности запросов к S3 хранилища экспорта. |
MM_ | 30000 | Время ожидания ответа S3 хранилища экспорта в миллисекундах. |
MM_ | 21600 | Срок действия ссылки на скачивание файла экспорта в секундах. По умолчанию — 6 часов. |
MM_ | 104857600 | Размер части при составной загрузке в S3 хранилища экспорта, в байтах. |
Почта и уведомления
SMTP-сервер
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | localhost | Адрес SMTP-сервера. |
MM_ | 10025 | Порт SMTP-сервера, например 25, 465 или 587. |
MM_ | — | Шифрование подключения к SMTP: пусто — без шифрования, TLS — TLS сразу, STARTTLS — переход на TLS после подключения. |
MM_ | false | Авторизоваться на SMTP-сервере. |
MM_ | — | Имя пользователя SMTP. |
MM_ | — | Пароль SMTP. |
MM_ | 10 | Время ожидания ответа SMTP-сервера в секундах. |
MM_ | false | Не проверять сертификат SMTP-сервера. Небезопасно. |
Письма
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | файл: falseБД: true | Отправлять уведомления по почте. |
MM_ | — | Имя отправителя писем. |
MM_ | файл: — БД: test@example.com | Адрес отправителя писем. |
MM_ | файл: — БД: test@example.com | Адрес для ответа (Reply-To) в письмах. |
MM_ | — | Название и адрес организации в подвале писем. |
MM_ | false | Добавлять название канала и команды в тему письма-уведомления. |
MM_ | full | Содержимое письма-уведомления: full — текст сообщения, generic — только отправитель и канал. generic действует только с лицензией. |
MM_ | false | Объединять уведомления о нескольких сообщениях в одно письмо. Пользователь выбирает частоту в настройках уведомлений. |
MM_ | 256 | Максимальное число уведомлений в одном письме. |
MM_ | 30 | Как часто в секундах сервер проверяет, есть ли уведомления для объединённых писем. |
MM_ | true | Показывать баннер «Ознакомительный режим», если отправка писем выключена. |
Push-уведомления
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | файл: trueБД: false | Отправлять push-уведомления на мобильные устройства. |
MM_ | файл: https://push.loop.ruБД: — | Адрес сервера push-уведомлений. |
MM_ | full | Содержимое push-уведомления: full — текст сообщения, отправитель и канал; generic — только отправитель и канал; generic_no_channel — только отправитель. Значение id_loaded в Loop не поддерживается и работает как generic. |
MM_ | 1000 | Размер очереди push-уведомлений на сервере. |
Поиск
Поиск через базу данных
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Разрешить поиск по сообщениям. |
MM_ | true | Разрешить поиск по файлам. |
MM_ | false | Отключить поиск через базу данных. Имеет смысл, только если поиск идёт через Elasticsearch или Bleve. |
Elasticsearch
Работает только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | http://localhost:9200 | Адрес Elasticsearch или OpenSearch, например https://elastic.example.com:9200. Несколько узлов — через пробел. |
MM_ | elastic | Имя пользователя для подключения. Если заданы имя и пароль, используется базовая аутентификация. |
MM_ | changeme | Пароль для подключения. |
MM_ | false | Индексировать новые сообщения, каналы, пользователей и файлы в Elasticsearch. |
MM_ | false | Искать через Elasticsearch. Требует EnableIndexing и завершённой индексации. |
MM_ | false | Подсказывать пользователей и каналы через Elasticsearch. Требует EnableIndexing. |
MM_ | true | При подключении находить остальные узлы кластера Elasticsearch. |
MM_ | 1 | Число реплик индекса сообщений. |
MM_ | 1 | Число шардов индекса сообщений. |
MM_ | 1 | Число реплик индекса каналов. |
MM_ | 1 | Число шардов индекса каналов. |
MM_ | 1000 | Сколько каналов индексируется за раз при полной индексации. |
MM_ | 1 | Число реплик индекса пользователей. |
MM_ | 1 | Число шардов индекса пользователей. |
MM_ | 100 | Сколько пользователей индексируется за раз при полной индексации. |
MM_ | — | Префикс имён индексов: <префикс>_posts_<дата>, <префикс>_channels, <префикс>_users, <префикс>_files. Задайте обязательно (например, loop) — имена индексов Elasticsearch не могут начинаться с _. Нужен и для того, чтобы несколько серверов Loop использовали один кластер Elasticsearch. |
MM_ | 1 | Сколько новых записей накапливается перед отправкой в индекс. 1 — индексировать сразу. |
MM_ | 10000 | Сколько сообщений и файлов индексируется за раз при полной индексации. |
MM_ | 30 | Время ожидания ответа Elasticsearch в секундах. |
MM_ | 128 | Максимальное число соединений с каждым узлом Elasticsearch. 0 — без ограничения. |
MM_ | false | Не проверять сертификат Elasticsearch. Небезопасно. |
MM_ | — | Путь к сертификату удостоверяющего центра. Сейчас работает с ошибкой: сервер читает файл по пути из ClientCert, а не из CA, и только если не заданы Username и Password. |
MM_ | — | Путь к клиентскому сертификату. Вход по клиентскому сертификату в Loop пока не реализован. |
MM_ | — | Путь к ключу клиентского сертификата. Вход по клиентскому сертификату в Loop пока не реализован. |
MM_ | — | Писать запросы к Elasticsearch в журнал: error — только ошибки, all — все запросы. Пусто — не писать. |
Bleve (встроенный поиск)
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | — | Каталог для индексов Bleve. Должен быть задан, чтобы включить индексацию. |
MM_ | false | Индексировать новые данные в Bleve. |
MM_ | false | Искать через Bleve. Требует EnableIndexing. |
MM_ | false | Подсказывать пользователей и каналы через Bleve. Требует EnableIndexing. |
MM_ | 10000 | Сколько записей индексируется за раз при полной индексации. |
Интерфейс
Название и ссылки
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | LOOP | Название сервера на странице входа и в интерфейсе. |
MM_ | Единое пространство для вашей команды | Текст над формой входа. |
MM_ | false | Показывать на странице входа своё изображение и CustomBrandText. |
MM_ | — | Текст под изображением на странице входа. Поддерживает Markdown. |
MM_ | https://loop.ru/terms-of-use/ | Ссылка «Условия использования» на страницах входа и регистрации. |
MM_ | https://loop.ru/privacy-policy/ | Ссылка «Политика конфиденциальности» на страницах входа и регистрации. |
MM_ | https://docs.loop.ru/about | Ссылка «О программе» на странице входа. |
MM_ | https://loop.ru/default-help/ | Ссылка «Справка»: на страницах входа и регистрации, в меню справки, в настройках мобильного приложения и в ответе команды /help. |
MM_ | https://loop.ru/default-report-a-problem/ | Ссылка «Сообщить о проблеме» в меню справки. |
MM_ | support@loop.ru | Адрес поддержки в письмах и сообщениях об ошибках. |
MM_ | false | Показывать пользователям свои условия использования, которые нужно принять. Действует только с лицензией. |
MM_ | 365 | Через сколько дней пользователь должен снова принять условия использования. |
MM_ | true | Показывать в меню справки ссылку «Спросить сообщество» (ведёт на docs.loop.ru). |
Язык
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | ru | Язык системных сообщений и писем сервера, например ru или en. Неподдерживаемое значение сервер заменяет на en. |
MM_ | ru | Язык интерфейса для новых пользователей и страниц до входа, например ru или en. Неподдерживаемое значение сервер заменяет на en. |
MM_ | en,ru | Языки через запятую, из которых пользователи выбирают язык интерфейса. Должен включать DefaultClientLocale. Если пусто — все поддерживаемые. |
Темы
Работают только с лицензией; без неё пользователям доступны все темы.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Разрешить пользователям выбирать тему. |
MM_ | default | Тема по умолчанию: loop, onyx, denim, sapphire, quartz, indigo или slack. Значение по умолчанию default не соответствует ни одной теме, поэтому применяется loop. |
MM_ | true | Разрешить пользователям настраивать свои цвета темы. |
MM_ | — | Темы, доступные для выбора, через пробел. Если пусто — все. |
Баннер и объявления
Баннер работает только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Показывать баннер объявлений всем пользователям. Действует только с лицензией. |
MM_ | — | Текст баннера. |
MM_ | #f2a93b | Цвет фона баннера (HEX). |
MM_ | #333333 | Цвет текста баннера (HEX). |
MM_ | true | Разрешить пользователям скрывать баннер до его следующего изменения. |
MM_ | true | Показывать системным администраторам объявления об обновлениях сервера и новых функциях. |
MM_ | true | Показывать пользователям объявления об обновлениях приложений. |
MM_ | https://notices.loop.ru/ | Адрес, с которого загружаются объявления. |
MM_ | 3600 | Как часто в секундах загружать объявления. |
MM_ | false | Загружать объявления без кэша. Только для отладки. |
Обучение новых пользователей
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Показывать новым пользователям шаги начальной настройки. |
MM_ | true | Показывать обучение новым пользователям. |
MM_ | true | Показывать подсказки обучающего тура. |
MM_ | true | Разрешить пользователям включать предварительные функции в Настройки > Дополнительно. |
Веб-приложение
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Показывать под полем ввода «… печатает». |
MM_ | 5000 | Интервал в миллисекундах между событиями «пользователь печатает». |
MM_ | true | Отправлять событие channel_viewed, чтобы непрочитанные синхронизировались между устройствами пользователя. |
MM_ | disabled | Группировать непрочитанные каналы на боковой панели: disabled — выключено, default_on — включено, пользователь может выключить, default_off — выключено, пользователь может включить. |
MM_ | false | Не выводить иконки плагинов на отдельную панель приложений справа, а оставить их в заголовке канала. |
MM_ | false | Не обновлять каналы и участников, когда вкладка браузера снова становится активной. |
MM_ | false | Показывать подсказки каналов после ~ только после ввода первых символов названия. |
MM_ | false | Не переподключаться и не обновлять данные после выхода компьютера из сна. |
MM_ | 3000 | Интервал в миллисекундах между запросами статусов и профилей пользователей в веб-приложении. |
Мобильные приложения
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | ru.loop.app.auth:// | Схемы адресов через пробел, на которые разрешено возвращаться после входа через SSO в мобильном приложении. |
MM_ | https://loop.ru/download/#loopApps | Ссылка «Скачать приложения» в меню. Если пусто — пункт скрыт. |
MM_ | https://loop.ru/loop-android-app/ | Ссылка на Android-приложение для пользователей, открывших Loop в мобильном браузере. |
MM_ | https://loop.ru/loop-ios-app/ | Ссылка на iOS-приложение для пользователей, открывших Loop в мобильном браузере. |
MM_ | false | Открывать вход через SSO во внешнем браузере устройства, а не во встроенном. Действует только с лицензией «Корпоративный». |
MM_ | false | Требовать биометрию (или PIN-код устройства) при открытии мобильного приложения. Действует только с лицензией «Корпоративный». |
MM_ | false | Запретить снимки и запись экрана в мобильном приложении. Действует только с лицензией «Корпоративный». |
MM_ | false | Не пускать в мобильное приложение с устройств с jailbreak или root-доступом. Действует только с лицензией «Корпоративный». |
Интеграции и плагины
Интеграции
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Разрешить входящие вебхуки. |
MM_ | true | Разрешить исходящие вебхуки. |
MM_ | true | Разрешить пользовательские slash-команды. |
MM_ | 30 | Время ожидания ответа от внешних сервисов в секундах: исходящие вебхуки, slash-команды, интерактивные действия. |
MM_ | false | Разрешить интеграциям менять имя отправителя сообщения. |
MM_ | false | Разрешить интеграциям менять изображение профиля отправителя. |
MM_ | true | Разрешить Loop работать как поставщик OAuth 2.0 для внешних приложений. |
MM_ | false | Разрешить создание персональных токенов доступа для интеграций. |
MM_ | false | Разрешить создавать ботов. |
MM_ | true | Отключать ботов при деактивации их владельца. |
Плагины
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Включить плагины. |
MM_ | false | Разрешить загружать плагины вручную (файлом). Через Системную консоль и API не меняется — только в config.json или переменной окружения. |
MM_ | false | Разрешить устанавливать плагины по HTTP-ссылкам (не HTTPS). |
MM_ | true | Периодически проверять плагины и перезапускать упавшие. |
MM_ | ./plugins | Каталог серверной части плагинов. |
MM_ | ./client/plugins | Каталог клиентской части плагинов. |
MM_ | — | Настройки плагинов в JSON: {"<id плагина>": {"<настройка>": <значение>}}. Переменная заменяет настройки всех плагинов целиком, поэтому перечислите все. |
MM_ | {"com.mattermost.apps":{"Enable":true},"com.mattermost.calls":{"Enable":true},"com.mattermost.nps":{"Enable":true}} | Включённые плагины в JSON: {"<id плагина>": {"Enable": true}}. Переменная заменяет список целиком. По умолчанию включены звонки (com.mattermost.calls), Apps (com.mattermost.apps) и опросы NPS (com.mattermost.nps, если включена LogSettings.EnableDiagnostics). |
MM_ | true | Показывать магазин плагинов в Системной консоли. |
MM_ | true | Загружать список плагинов с сервера MarketplaceURL. Если выключено — только предустановленные плагины. |
MM_ | true | Автоматически устанавливать предустановленные плагины при запуске. |
MM_ | false | Разрешать только плагины с проверенной подписью. |
MM_ | https://api.integrations.loop.ru | Адрес магазина плагинов. Через Системную консоль и API меняется, только если включена EnableUploads. |
MM_ | — | Дополнительные открытые ключи для проверки подписи плагинов, через пробел. Через Системную консоль и API не меняется — только в config.json или переменной окружения. |
MM_ | true | Разрешить плагин звонков (com.mattermost.calls). Если выключен, плагин не запускается. |
MM_ | true | Разрешить плагин Apps (com.mattermost.apps). Если выключен, плагин не запускается. |
MM_ | true | Упрощённый вид магазина плагинов. |
MM_ | true | Показывать в Loop магазин плагинов WILIX. |
MM_ | https://marketplace.wilix.dev | Адрес магазина плагинов WILIX. |
Журналы и мониторинг
Журнал сервера
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Писать журнал в стандартный вывод. |
MM_ | файл: INFOБД: DEBUG | Уровень журнала в стандартном выводе: DEBUG, INFO, WARN или ERROR. |
MM_ | true | Писать журнал в стандартный вывод в формате JSON. |
MM_ | false | Выделять уровни цветом в журнале в стандартном выводе (если не JSON). |
MM_ | true | Писать журнал в файл mattermost.log. |
MM_ | INFO | Уровень журнала в файле: DEBUG, INFO, WARN или ERROR. |
MM_ | true | Писать журнал в файл в формате JSON. |
MM_ | — | Каталог файла журнала. Если пусто — ./logs. |
MM_ | true | Если обработка входящего вебхука завершилась ошибкой, писать его тело в журнал (на уровне DEBUG). |
MM_ | true | Отправлять разработчикам Loop отчёты об ошибках и обезличенную статистику использования. |
MM_ | false | Добавлять в статистику использования подробные сведения. |
MM_ | true | Отправлять разработчикам Loop отчёты о сбоях сервера. Работает, только если включена EnableDiagnostics. |
MM_ | — | Конфигурация расширенного журналирования в JSON (дополнительные цели: syslog, TCP и др.). Цели, кроме консоли и файла, работают только с лицензией. |
MM_ | 2048 | Максимальная длина значения поля в записи журнала. Более длинные значения обрезаются. |
Журнал уведомлений
Отдельный журнал отправки уведомлений — notifications.log.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Писать журнал уведомлений в стандартный вывод. |
MM_ | файл: INFOБД: DEBUG | Уровень журнала уведомлений в стандартном выводе: DEBUG, INFO, WARN или ERROR. |
MM_ | true | Писать журнал уведомлений в стандартный вывод в формате JSON. |
MM_ | false | Выделять уровни цветом в стандартном выводе. |
MM_ | true | Писать журнал уведомлений в файл notifications.log. |
MM_ | INFO | Уровень журнала уведомлений в файле. |
MM_ | true | Писать журнал уведомлений в файл в формате JSON. |
MM_ | — | Каталог файла журнала уведомлений. Если пусто — ./logs. |
MM_ | — | Конфигурация расширенного журналирования уведомлений: JSON или путь к файлу. Цели, кроме консоли и файла, работают только с лицензией. |
Журнал аудита
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Писать журнал аудита в файл FileName. |
MM_ | — | Путь к файлу журнала аудита. Обязателен, если FileEnabled = true. |
MM_ | — | Конфигурация дополнительных целей журнала аудита в JSON. Работает только с лицензией. |
MM_ | false | Показывать настройки журнала аудита в Системной консоли. |
Метрики
Работают только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Отдавать метрики Prometheus и данные профилирования. |
MM_ | 0 | Частота профилирования блокировок (runtime.SetBlockProfileRate). 0 — выключено. |
MM_ | :8067 | Адрес и порт, на которых доступны метрики. |
MM_ | true | Собирать метрики производительности веб- и настольного приложения. |
MM_ | true | Собирать метрики доставки уведомлений. |
MM_ | true | Разрешить метрики уведомлений (MetricsSettings.EnableNotificationMetrics). |
MM_ | 2500 | Если пользователей больше, ресурсоёмкая часть статистики в Системной консоли не рассчитывается. |
Кластер и обслуживание
Кластер
Работает только с лицензией.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Включить режим кластера из нескольких серверов Loop. |
MM_ | — | Имя кластера. Узлы с одинаковым именем объединяются в кластер. Если пусто — используется SiteURL. |
MM_ | — | Имя узла вместо имени хоста. |
MM_ | — | Сетевой интерфейс, с которого берётся IP-адрес узла, если UseIPAddress = true. |
MM_ | — | Адрес, на котором узел принимает подключения других узлов. |
MM_ | — | Адрес, который узел сообщает другим узлам. |
MM_ | true | Сообщать другим узлам IP-адрес, а не имя хоста. |
MM_ | true | Сжимать трафик между узлами. |
MM_ | false | Шифровать трафик между узлами. |
MM_ | true | Запретить изменять config.json из Системной консоли, когда включён кластер. Не действует, если конфигурация хранится в базе данных. |
MM_ | 8074 | Порт для обмена данными между узлами. |
MM_ | false | Отправлять события WebSocket только клиентам, которым они нужны. Снижает нагрузку. |
Фоновые задачи
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | true | Выполнять фоновые задачи на этом сервере. В кластере можно выделить под них отдельные узлы. |
MM_ | true | Планировать фоновые задачи на этом сервере. |
MM_ | -1 | Удалять записи о завершённых задачах старше указанного числа дней. -1 — не удалять. |
MM_ | -1 | Удалять старые версии конфигурации из базы данных старше указанного числа дней. Действует, только если конфигурация хранится в базе. -1 — не удалять. |
MM_ | 00:00 | Время (ЧЧ:ММ, по серверу) ежедневного пересчёта статистики сообщений пользователей. |
Лицензия
Лицензию также можно передать переменной MM_LICENSE — см. Переменные вне config.json.
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | — | Путь к файлу лицензии. Файл загружается при запуске, только если лицензия ещё не сохранена в базе данных. |
Локальный режим и отладка
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Включить локальный режим: mmctl --local управляет сервером через сокет без авторизации. |
MM_ | /var/tmp/mattermost_local.socket | Путь к сокету локального режима. |
MM_ | -1 | Порог числа горутин: при превышении проверка состояния (/api/v4/system/ping) пишет предупреждение в журнал. -1 — проверка отключена. |
MM_ | false | Включить трассировку запросов OpenTracing (Jaeger). Используется для отладки. |
MM_ | false | Разрешить пользователям включать отладку производительности в своих настройках (Настройки > Дополнительно). |
MM_ | false | Режим разработчика: ошибки JavaScript показываются в интерфейсе, а в ответах API — подробности ошибок. Не включайте в рабочей среде. |
MM_ | false | Включить команду /test для создания тестовых данных и тестовые расписания повторяющихся сообщений. Не включайте в рабочей среде. |
Не действуют в Loop, устаревшие и служебные
Эти переменные сервер принимает, но в Loop они ни на что не влияют, устарели или предназначены для разработки и облачной версии. Задавать их не нужно.
Показать 96 переменных
| Переменная | По умолчанию | Описание |
|---|---|---|
MM_ | false | Не действует в Loop: модуля исходящих OAuth-подключений в Loop нет. Если включить, в разделе «Интеграции» появится пункт «Исходящие OAuth-подключения», но создать подключение не получится — сервер ответит ошибкой. Вебхуки и slash-команды продолжат работать без OAuth. |
MM_ | — | Служебная настройка для разработки Loop. Не используйте. |
MM_ | файл: 30БД: 180 | Устарела, не используется. Используйте SessionLengthWebInHours. |
MM_ | файл: 30БД: 180 | Устарела, не используется. Используйте SessionLengthMobileInHours. |
MM_ | 30 | Устарела, не используется. Используйте SessionLengthSSOInHours. |
MM_ | 2000 | Не используется. |
MM_ | false | Служебная: разрешить вручную запускать через API рассылку администраторам запросов пользователей на обновление тарифа. Используется для тестирования. |
MM_ | false | Служебная настройка для учёта использования в AWS Marketplace. Не используйте. |
MM_ | — | Служебная настройка управления флагами функций через Split.io. Не используйте. |
MM_ | 30 | Служебная настройка управления флагами функций через Split.io. Не используйте. |
MM_ | false | Служебная настройка управления флагами функций через Split.io. Не используйте. |
MM_ | — | Последняя версия Android-приложения. Передаётся клиентам через API, но приложение Loop её не использует. |
MM_ | — | Минимальная версия Android-приложения. Передаётся клиентам через API, но приложение Loop её не использует. |
MM_ | — | Последняя версия iOS-приложения. Передаётся клиентам через API, но приложение Loop её не использует. |
MM_ | — | Минимальная версия iOS-приложения. Передаётся клиентам через API, но приложение Loop её не использует. |
MM_ | генерируется | Служебный ключ шифрования. Если пусто, генерируется при первом запуске. Сервер Loop его не использует. |
MM_ | — | Устарела. Путь к файлу с конфигурацией расширенного журналирования. Используется, только если AdvancedLoggingJSON пуст. |
MM_ | 100 | Не действует в Loop: файл ротируется по фиксированным правилам (100 МБ, со сжатием). |
MM_ | 0 | Не действует в Loop. |
MM_ | 0 | Не действует в Loop. |
MM_ | false | Не действует в Loop. |
MM_ | 1000 | Не действует в Loop. |
MM_ | — | Устарела. Путь к файлу конфигурации целей аудита. Используется, только если AdvancedLoggingJSON пуст. |
MM_ | — | Не действует в Loop: для журнала уведомлений используется только AdvancedLoggingConfig. |
MM_ | #0000 | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | #2389D7 | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | #2389D7 | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | — | Не используется для GitLab. |
MM_ | — | Не используется. |
MM_ | — | Не используется. |
MM_ | — | Не используется: подставьте идентификатор каталога прямо в AuthEndpoint и TokenEndpoint. |
MM_ | #0000 | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | #2389D7 | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | #2389D7 | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | false | Не используется. |
MM_ | false | Отчётов о соответствии в Loop нет, но настройка влияет на доступ: если включить, пользователи не смогут читать сообщения и файлы публичных каналов, в которых не состоят (например, открыть их по ссылке). Не включайте. |
MM_ | ./data/ | Не действует в Loop: модуля отчётов о соответствии в Loop нет. Каталог отчётов. |
MM_ | false | Не действует в Loop: модуля отчётов о соответствии в Loop нет. Создавать отчёт ежедневно. |
MM_ | 30000 | Не действует в Loop: модуля отчётов о соответствии в Loop нет. Размер пакета при выгрузке. |
MM_ | false | Не действует в Loop. |
MM_ | false | Не действует в Loop. |
MM_ | — | Не действует в Loop. |
MM_ | — | Не действует в Loop. |
MM_ | #34a28b | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | #2389D7 | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | #ffffff | Не используется: сервер передаёт значение клиентам, но веб- и мобильное приложение Loop его не применяют. |
MM_ | false | Устарела: используйте ConnectedWorkspacesSettings.EnableRemoteClusterService. При обновлении старой конфигурации значение переносится туда. |
MM_ | elasticsearch | Не действует в Loop. |
MM_ | 365 | Не действует в Loop: объединение старых индексов не выполняется. Значение проверяется при сохранении (не меньше 1). |
MM_ | 03:00 | Не действует в Loop. Значение проверяется при сохранении (формат ЧЧ:ММ). |
MM_ | — | Устарела, не используется. |
MM_ | — | Не действует в Loop. |
MM_ | — | Устарела, не используется. |
MM_ | false | Не действует в Loop: автоматическое удаление по политике хранения отключено. Удалять сообщения старше срока хранения. |
MM_ | false | Не действует в Loop: автоматическое удаление по политике хранения отключено. Удалять файлы старше срока хранения. |
MM_ | false | Не действует в Loop: автоматическое удаление по политике хранения отключено. Удалять данные досок. |
MM_ | 365 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Срок хранения сообщений в днях. |
MM_ | 0 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Срок хранения сообщений в часах. |
MM_ | 365 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Срок хранения файлов в днях. |
MM_ | 0 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Срок хранения файлов в часах. |
MM_ | 365 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Срок хранения данных досок в днях. |
MM_ | 02:00 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Время запуска удаления (ЧЧ:ММ). |
MM_ | 3000 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Сколько записей удаляется за раз. |
MM_ | 100 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Пауза между пакетами в миллисекундах. |
MM_ | 100 | Не действует в Loop: автоматическое удаление по политике хранения отключено. Размер пакета идентификаторов при удалении. |
MM_ | false | Не действует в Loop: модуля экспорта сообщений в Loop нет. Включить ежедневный экспорт сообщений. |
MM_ | actiance | Не действует в Loop: модуля экспорта сообщений в Loop нет. Формат экспорта. |
MM_ | 01:00 | Не действует в Loop: модуля экспорта сообщений в Loop нет. Время запуска экспорта (ЧЧ:ММ). |
MM_ | 0 | Не действует в Loop: модуля экспорта сообщений в Loop нет. С какого момента (Unix-время в миллисекундах) экспортировать сообщения. |
MM_ | 10000 | Не действует в Loop: модуля экспорта сообщений в Loop нет. Сколько сообщений экспортируется за раз. |
MM_ | false | Не действует в Loop: модуля экспорта сообщений в Loop нет. Разрешить скачивать результаты экспорта. |
MM_ | A9 | Не действует в Loop: модуля экспорта сообщений в Loop нет. Тип клиента Global Relay. |
MM_ | — | Не действует в Loop: модуля экспорта сообщений в Loop нет. Имя пользователя SMTP Global Relay. |
MM_ | — | Не действует в Loop: модуля экспорта сообщений в Loop нет. Пароль SMTP Global Relay. |
MM_ | — | Не действует в Loop: модуля экспорта сообщений в Loop нет. Адрес, на который отправляется экспорт. |
MM_ | 1800 | Не действует в Loop: модуля экспорта сообщений в Loop нет. Время ожидания SMTP-сервера в секундах. |
MM_ | — | Не действует в Loop: модуля экспорта сообщений в Loop нет. Свой SMTP-сервер Global Relay. |
MM_ | 25 | Не действует в Loop: модуля экспорта сообщений в Loop нет. Порт своего SMTP-сервера Global Relay. |
MM_ | — | Не используется. |
MM_ | true | Не используется. |
MM_ | https://customers.loop.ru | Служебная, для облачной версии Loop. Адрес портала клиентов. В рабочей сборке всегда https://customers.loop.ru, значение из переменной не применяется. |
MM_ | файл: https://api.internal.test.cloud.loop.ruБД: https://portal.internal.prod.cloud.loop.ru | Служебная, для облачной версии Loop. Адрес API облачного сервиса. |
MM_ | false | Служебная настройка для тестирования. |
MM_ | false | Служебная, для облачной версии Loop. Отключить обращения к облачному сервису. |
MM_ | off | Служебный флаг для тестов. |
MM_ | false | Служебный флаг для тестов. |
MM_ | false | Не используется: сервер передаёт значение клиентам, но приложения Loop его не применяют. Подключение к другим серверам включает ConnectedWorkspacesSettings.EnableRemoteClusterService. |
MM_ | false | Не используется. |
MM_ | false | Не используется. |
MM_ | false | Не используется. |
MM_ | false | Служебный флаг облачной версии. |
MM_ | false | Служебный флаг облачной версии. |
MM_ | false | Не действует в Loop: модуль фильтрации IP в Loop не входит. |
MM_ | false | Служебный флаг для плагинов: разрешает хук обработки сообщений. |
MM_ | false | Служебный флаг облачной версии. |
MM_ | false | Служебный флаг облачной версии. |