Команды управления
Остановка Chat Server без очистки docker container и docker network:
./ecss-elph-chat-server.sh stop
Остановка Chat Server с очисткой docker container и docker network:
./ecss-elph-chat-server.sh down
Запуск Chat Server:
./ecss-elph-chat-server.sh up
Рестарт Chat Server:
./ecss-elph-chat-server.sh restart
Просмотр запущенных контейнеров:
docker ps
Логи
Для просмотра логов баз данных:
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
Конфигурация
Конфигурация Chat Server хранится в файле ./elph-chat-server/stable/.env
Чтобы перейти в файл конфигурации введите команду:
<nano/vim/mcedit> elph-chat-server/stable/.env
Основные конфигурационные параметры
В первоначальной настройке необходимо изменить следующие параметры:
Обязательный к изменению параметр: BEARER_TOKEN_PRIVATE_KEY — секретный ключ для генерации токена авторизации. По умолчанию стоит демонстрационное значение, которое важно поменять для обеспечения безопасности сервера. Значением может выступать любая комбинация символов >256 бит (примерно 32 символа). Значение данного параметра должно быть одинаковое в конфигурационном файле Chat Server и на всех сервисах: User Status Service, Call History Service и Address Book Service.
PUBLIC_URL=https://<ip_address_chat_server> #Внешний адрес Chat Server, по которому он будет доступен для пользователей.
ROOT_URL="https://test-chat.eltex:3443" #Адрес хоста Chat Server
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" #Все пользователи без домена при логине будут отправляться на стандартный домен. При "false" Chat Server будет ожидать имя домена в авторизационных данных от клиента.
ECSS_WEB_API_DOMAIN=<domain_name> #Имя домена ECSS, с которым будет работать Chat Server. При ECSS_CORE_USE_DEFAULT_DOMAIN="false" допускается оставить значение параметра 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.
Обратите внимание на архитектуру: Chat Server должен иметь доступ к ecss-mysql, иначе не будут работать аватары и имена пользователей в чате. Для этого настройте маску доступа к mysql.
Введите команду:
dpkg-reconfigure ecss-mysql
Откроется диалоговое окно с вопросом о маске, например, для доступа всех IP-адресов можно задать маску: %.%.%.%.
Более подробно про настройку ecss-mysql можно почитать в разделе «Настройка SSW для работы c Elph».
Сетевые окончания
3443 — https-порт для доступа к Chat Server.
Логирование
Начиная с версии 2.5.0, добавлена ротация логов.
По умолчанию пишутся 10 файлов по 50 Мб. Логи расположены в /var/lib/docker/containers/<container>/.
Вывести список контейнеров можно командой:
docker ps
Для настройки параметров ротации нужно отредактировать docker-compose.yaml, расположенный в elph-chat-server/stable/. В данном файле под каждый контейнер отведен свой блок настроек:
logging: driver: "json-file" options: max-size: "50m" max-file: "10"
И перезапустить Chat Server:
./ecss-elph-chat-server.sh down ./ecss-elph-chat-server.sh up
После очистки контейнеров логи очищаются. Поэтому, перед остановкой Chat Server с очисткой контейнеров (./ecss-elph-chat-server.sh down), рекомендуется скопировать логи.