Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Конфигурация

Конфигурация чат-сервера хранится в файле ./elph-chat-server/stable/.env

Чтобы перейти в файл конфигурации введите команду:

sudo nano elph-chat-server/stable/.env

Пример исходного .env файла:

# ELPH-CHAT-SERVER CONFIGFILE 2.3^
# Модули конфигурации расположены в порядке важности
# Без докер образа не будет ничего
# Без сконфигурированных параметров подключения к БД не запустится сервер
# Без нужных серверу параметров он откажется запускаться
# Без сконфигурированного провайдера аутентификации не будет доступа к учетным записям
# ...

# ######################## Docker ########################
# Источник докер образов
DOCKER_REPO="hub-ims.eltex-co.ru"
# Версия докер образов
TAG="2.3.0"
# ---------- Менять не нужно ----------
NGINX_TAG=1.23.3-${TAG}
MONGO_TAG=4.4-${TAG}
SERVER_TAG=${TAG}
VOLUMES_DIR="./volumes"

DEPLOY_PLATFORM=docker
# ########################

# ######################## Параметры подключения к mongodb ########################
MONGO_URL=mongodb://mongo:27017/elph?replicaSet=rs01
MONGO_OPLOG_URL=mongodb://mongo:27017/local?replicaSet=rs01
# ########################

# ####################### Для работы серверов ########################
# ---------- Необходимо сконфигурировать ----------
# Публичный адрес сервера
PUBLIC_URL=https://elph-chat.loc
# ---------- Менять не нужно ----------
ROOT_URL="https://elph-chat.loc"
PORT=3000
NODE_PATH=/usr/bin/node
NODE_ENV=production
# ########################

# ######################## Авторизация на чат-сервере ########################
# Приватный ключ для подписи токена пользователя
BEARER_TOKEN_PRIVATE_KEY='eca6fdb9bfa839dd6cd479e91d1e6d2344ac6e387e2b81a0482f01e8b976da115ae54dff18e611409edf14e4562cdc7474c3ed1f8125b8b3b49513cdb8438b9d'

# ######################## Аутентификация через ECSS10 ########################
# Параметры подключения к ecss-web-api (ecss-core)
ECSS_CORE_HOST="ecss-core.loc"
# ---------- Опционально ----------
ECSS_CORE_DOMAIN="default"
ECSS_CORE_USE_DEFAULT_DOMAIN="false"
ECSS_CORE_PORT=8086
ECSS_CORE_SERVICE=call
# ########################

# ########################  Получения доп.информации о пользователе (аватар/дисплейнейм) ########################
# Параметры подключения к ecss-mysql (БД adress_book - для синхронизации display name и аватара пользователя)
ECSS_ADDRESSBOOK_HOST="address-book.mysql.ecss"
# ---------- Опционально ----------
ECSS_ADDRESSBOOK_PORT=3306
ECSS_ADDRESSBOOK_DB_USER="address_book"
ECSS_ADDRESSBOOK_DB_PASSWORD="address_book"
ECSS_ADDRESSBOOK_DB_NAME="ecss_address_book"
ECSS_ADDRESSBOOK_DB_CONNECTION_LIMIT=10

# Параметры подключения к ecss-mysql (БД meeting-db - для работы чатов телеконференций)
# По умолчанию идентичен ECSS_ADDRESSBOOK_HOST, если нужно поменять то нужно отредактировать docker-compose.yml
ECSS_MEETING_DB_PORT=3306
ECSS_MEETING_DB_NAME=ecss_meeting_db
ECSS_MEETING_DB_USER=ecss_meeting_db
ECSS_MEETING_DB_PASS=ecss_meeting_db

# При входе, если обновление было больше чем это, то обновить данные
UPDATE_ADDRBOOK_AVATAR_EVERY_MS=80000

# Префикс перенаправления на ecss-elph-api
ECSS_AVATAR_URL_ORIGIN_PREFIX="https://elph_api:8098/loadlocal/"
# ########################



# ######################## Разметка сообщений (markdown, katex, autolink) ########################
# Разрешенные "подозрительные домены"
# незарегистрированные доменные имена не будут размечаться как ссылки если не добавить их в этот список (через запятую) пример: domain.asd,evil.troian.loc
MESSAGEPARSER_AUTOLINK_CUSTOM_DOMAINS=eltex.loc
# ########################

# ######################## Тех поддержка (сбор обратной связи отчетов/клиентских логов) ########################
# ---------- Опционально ----------
# Включить создание supportuser
OVERWRITE_SETTING_Support_User=true
OVERWRITE_SETTING_Support_User_Welcome_Message="Добро пожаловать в чат технической поддержки!"
OVERWRITE_SETTING_Support_User_Password="password"
OVERWRITE_SETTING_Support_User_Name="Поддержка Elph"
# ########################

# ######################## Системные отчеты использования системы ########################
# ---------- Опционально ----------
### Разрешить системе отправлять сообщения пользователям (нужно для отправки отчета о системе)
SYSTEM_ADMIN_MESSAGES=true
### Генерировать отчет использования системы
SYSTEM_REPORTS_ENABLE=true
### Отправлять отчет системы пользователям (юзернеймы через запятую)
SYSTEM_REPORTS_SUBSCRIBERS_USERNAMES="supportuser"
### Отправлять отчет каждые (<число>_<week|month>)
SYSTEM_REPORTS_INTERVAL="1_week"
# ########################

# ######################## Системное уведомление в чате пользователей о заполненности диска на сервере базы данных ########################
# ---------- Опционально ----------
### Включить уведомления
USED_SPACE_REPORTER_ENABLE=true
### Отправлять уведомления пользователям (юзернеймы через запятую)
USED_SPACE_REPORTER_SUBSCRIBERS_USERNAMES="supportuser"
### Проверять заполненность диска каждые (<число>_<day|week|month>)
USED_SPACE_REPORTER_INTERVAL=1_day
### Отправлять уведомления, если дисковое пространство заполнено больше чем на N%
USED_SPACE_REPORTER_PERCENT_LIMIT=85

# ######################## Cпецифичная настройка ########################
# ---------- Опционально ----------
# Разрешить работу с не подвержденными SSL сертификатами (самоподписанные/локальные/и тд)
NODE_TLS_REJECT_UNAUTHORIZED=0
# Слать пуш нотификации через apple-сервер либо через печницу apple (false), на работу android пуш нотификаций не влияет
OVERWRITE_SETTING_Push_production=true
# Разрешить работу elph-desktop
# ---------- Менять не нужно ----------
OVERWRITE_SETTING_API_CORS_Origin='*'
OVERWRITE_SETTING_API_Enable_CORS=true
OVERWRITE_SETTING_Iframe_Restrict_Access=false
OVERWRITE_SETTING_Initial_Channel_Created=true
# ########################

# NGINX_ACCESS_LOGS=./log/ecss-chat-server.access.log
# Для монтирования своих сертификатов (по умолчанию самоподписанные)
# NGINX_CERTS=
# NGINX_RPIVATE_SSL_KEYS=

# ######################## Фильтры для логов ########################
# Определение здесь значений отключит все логгеры, кроме тех, что здесь описаны.
# Для нормальной работы оставить пустыми, если нет необходимости дебажить.
# ---------- Опционально ----------
### Будут выводиться логи только из определенных здесь лейблов.
LOGGER_LOG_LABELS=
### Будут выводиться логи только с определенным здесь уровнем.
LOGGER_LOG_LEVEL=
# ########################


Основные конфигурационные параметры

В первоначальной настройке необходимо изменить следующие параметры:

PUBLIC_URL=https://<ip_address_chat_server>:3443  #Внешний адрес чат-сервера, по которому он будет доступен для пользователей Elph Desktop.

ECSS_CORE_HOST=<ip_address_elph_api>  #Адрес ядра ECSS

ECSS_ADDRESSBOOK_HOST=<ip_address_mysql> #адрес ecss-mysql

ECSS_AVATAR_URL_ORIGIN_PREFIX=https://<ip_address_elph_proxy>/elph_api/loadlocal/ #Адрес Elph-API  для скачивания аватаров, подробнее об этом в разделе «Настройка аватаров».

Если используется один стандартный домен, то производится настройка параметров ECSS_CORE_USE_DEFAULT_DOMAIN и ECSS_WEB_API_DOMAIN:

ECSS_CORE_USE_DEFAULT_DOMAIN="true" #Все пользователи без домена при логине будут отправляться на стандартный домен

ECSS_WEB_API_DOMAIN=<domain_name> #Имя домена ECSS, с которым будет работать чат-сервер

Настройка системных отчетов использования системы

Отчеты по использованию системы по умолчанию настроены на отправку отчетов раз в неделю пользователю supportuser.

Для изменения списка пользователей добавьте их в параметр SYSTEM_REPORTS_SUBSCRIBERS_USERNAMES:

SYSTEM_REPORTS_SUBSCRIBERS_USERNAMES="supportuser,102,213,123,123234,23,534,534,6"

Список интервалов поддерживаемых для отправки отчетов: weeks, months. Указывать интервал меньше не рекомендуется.

SYSTEM_REPORTS_INTERVAL="1_week"

Пример отчета использования системы:

Уведомления о заполненности диска на сервере базы данных

Список пользователей получающих отчет настраивается аналогично Настройке системных отчетов использования системы (USED_SPACE_REPORTER_SUBSCRIBERS_USERNAMES).

Список интервалов поддерживаемых для отправки отчетов: day, weeks, months. Указывать интервал меньше не рекомендуется.

USED_SPACE_REPORTER_PERCENT_LIMIT — процент заполненности диска, при достижении которого начинают отправляться уведомления. По умолчанию равен 85.

USED_SPACE_REPORTER_SUBSCRIBERS_USERNAMES="supportuser,102,213,123,123234,23,534,534,6"
USED_SPACE_REPORTER_INTERVAL=1_day
USED_SPACE_REPORTER_PERCENT_LIMIT=85

Пример уведомления о заполненности диска:

Остальные параметры являются опциональными. Изменять их необходимо в случае, если используется нестандартная схема развёртывания ECSS-10.

Обратите внимание на архитектуру, чат-сервер должен иметь доступ к ecss-mysql, иначе не будут работать аватары и имена пользователей в чате. Для этого настройте маску доступа к mysql.

Введите команду:

dpkg-reconfigure ecss-mysql

Откроется диалоговое окно с вопросом о маске, например, для доступа всех IP-адресов можно задать маску: %.%.%.%.

Более подробно про настройку ecss-mysql можно почитать в Настройка SSW для работы c Elph.

Сетевые окончания

3443 — https-порт для доступа к чат-серверу.

  • Нет меток