Конфигурация
Конфигурация чат-сервера хранится в файле ./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-порт для доступа к чат-серверу.