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

Команды управления

Остановка чат-сервера без очистки docker container и docker network:

./ecss-elph-chat-server.sh stop

Остановка чат-сервера с очисткой docker container и docker network:

./ecss-elph-chat-server.sh down

Запуск чат-сервера:

./ecss-elph-chat-server.sh up

Рестарт чат-сервера:

./ecss-elph-chat-server.sh restart

Просмотр запущенных контейнеров:

docker ps

Для просмотра текущей версии чат сервера можно перейти по адресу https://<АДРЕС elph-proxy>/elph_chat/api/info


Логи

Для просмотра логов баз данных:

docker logs elph-chat-server-stable_mongo_1

Для просмотра логов сервера:

docker logs elph-chat-server-stable_server_1

Для просмотра логов в реальном времени добавить "--follow" в конце команды:

docker logs elph-chat-server-stable_server_1 --follow



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

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

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

<nano/vim/mcedit> elph-chat-server/stable/.env
 Пример исходного .env файла
# ELPH-CHAT-SERVER CONFIGFILE 2.4^
# Модули конфигурации расположены в порядке важности
# Без докер образа не будет ничего
# Без сконфигурированных параметров подключения к БД не запустится сервер
# Без нужных серверу параметров он откажется запускаться
# Без сконфигурированного провайдера аутентификации не будет доступа к учетным записям
# ...

# ######################## 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=[token]
# Адрес сервиса SSO авторизации
AUTH_TOKEN_ISSUER='http://sso-elph.loc:5000'

# ######################## Аутентификация через 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="ecss_chat"
ECSS_ADDRESSBOOK_DB_PASSWORD="ecss_chat"
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
### Отправлять отчет каждые (<число>_<week|month>)
SYSTEM_REPORTS_INTERVAL="1_week"
# ########################

# ######################## Системное уведомление в чате пользователей о заполненности диска на сервере базы данных ########################
# ---------- Опционально ----------
### Включить уведомления
USED_SPACE_REPORTER_ENABLE=true
### Проверять заполненность диска каждые (<число>_<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
# Настройка времени жизни токена авторизации в секундах (по умолчанию час)
JWT_CUSTOM_EXP=
# ---------- Менять не нужно ----------
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=
# ########################
# ######################## Интеграция сервиса транскрипции ########################
STT_SERVICE_URL=http://stt.loc
RECIEVE_TRANSCRIBE_ENABLE=false
RECIEVE_TRANSCRIBE_INTERVAL=1_minutes

# общая шина
RABBITMQ_URL="amqp://guest:guest@[rabbitMQ address]:5672/"

# Использовать в дефолтных аватарах первую букву имени
OVERWRITE_SETTING_UI_Use_Name_Avatar=true


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

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

Обязательный к изменению параметр: BEARER_TOKEN_PRIVATE_KEY — секретный ключ для генерации токена авторизации. По умолчанию стоит демонстрационное значение, которое важно поменять для обеспечения безопасности сервера. Значением может выступать любая комбинация символов >256 бит (примерно 32 символа). Значение данного параметра должно быть одинаковое в конфигурационном файле чат-сервера и на всех сервисах: User Status Service, Call History Service.

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 для доступа к аватарам, подробнее об этом в разделе «Настройка аватаров».

RABBITMQ_URL=RABBITMQ_URL="amqp://guest:guest@[rabbitMQ_address]:5672/" # Адрес брокера RabbitMQ. В версии 2.4.0 поставляется совместно с User Status Service.

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

ECSS_CORE_USE_DEFAULT_DOMAIN="true" #Все пользователи без домена при логине будут отправляться на стандартный домен. При "no" чат-сервер будет ожидать имя домена в авторизационных данных от клиента.

ECSS_WEB_API_DOMAIN=<domain_name> #Имя домена ECSS, с которым будет работать чат-сервер. При ECSS_CORE_USE_DEFAULT_DOMAIN="no" допускается оставить значение параметра ECSS_WEB_API_DOMAIN пустым.



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

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

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

SYSTEM_REPORTS_INTERVAL="1_week"

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



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

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

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

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

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-порт для доступа к чат-серверу.

  • Нет меток