
Команды управления
Запуск сервиса Call History:
./ecss-call-history.sh up |
Остановка сервиса Call History без очистки docker container и docker network:
./ecss-call-history.sh stop |
Остановка контейнеров сервиса Call History, с последующим удалением контейнеров, сетей, томов и образов, созданных с помощью команды ./ecss-call-history.sh up:
./ecss-call-history.sh down |
Перезапуск сервиса Call History:
./ecss-call-history.sh restart |
Проверка наличия обновлений в рамках текущей версии:
./ecss-call-history.sh pull |
Просмотр запущенных контейнеров:
Более подробно о командах смотрите в официальной документации по docker compose.
Логи
Для просмотра логов базы данных:
docker logs ecss-call-history-stable-call-history-db-1 |
Для просмотра логов приложения:
docker logs ecss-call-history-stable-call-history-1 |
Для просмотра логов в реальном времени добавить "--follow" в конце команды:
docker logs ecss-call-history-stable-call-history-1 --follow |
По умолчанию пишутся 10 файлов по 50 Мб. Логи расположены в /var/lib/docker/containers/<container>/.
Вывести список контейнеров можно командой:
Для настройки параметров ротации нужно отредактировать docker-compose.yaml, расположенный в ecss-call-history/stable/. В данном файле под каждый контейнер отведен свой блок настроек:
logging:
driver: "json-file"
options:
max-size: "50m"
max-file: "10" |
max-size: "50m" — максимальный размер файла лога;
max-file: "10" — максимальное количество файлов с логами указанного размера.
И перезапустить Call History Service:
./ecss-call-history.sh down
./ecss-call-history.sh up |
После очистки контейнеров логи очищаются. Поэтому, перед остановкой Call History Service с очисткой контейнеров (./ecss-user-status.sh down), рекомендуется скопировать логи.
Файл конфигурации .env
#####################################################
# Global config
#####################################################
DOCKER_REPO="http://hub-ims.eltex-co.ru/"
TAG="2.12.0"
VOLUMES_DIR="./volumes"
RESTART_POLICY="always"
#####################################################
# call-history
#####################################################
ECSS_CALL_HISTORY_NODE_ENV="production"
# call-history DB
ECSS_CALL_HISTORY_DB_TAG="16.2-alpine3.18"
ECSS_CALL_HISTORY_DB_DATABASE="call_history"
ECSS_CALL_HISTORY_DB_USERNAME="root"
ECSS_CALL_HISTORY_DB_PASSWORD="password"
# call-history behavior
POLLING_INTERVAL=5000
POLLING_LIMIT=1000
LOG_LEVEL=log
# call-history cleanup
CALL_HISTORY_CLEANUP_THRESHOLD=1_month
CALL_HISTORY_CLEANUP_CRON= # default: every day at midnight
#####################################################
# External endpoints
#####################################################
# ecss-meeting DB
ECSS_MEETING_DB_HOST=my-ssw.org
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
# ecss-calls DB
ECSS_CALLS_DB_HOST=my-ssw.org
ECSS_CALLS_DB_PORT=3306
ECSS_CALLS_DB_NAME=ecss_calls_db
ECSS_CALLS_DB_USER=calls_db
ECSS_CALLS_DB_PASS=calls_db
ECSS_CALLS_DB_TIMEZONE=+07:00
# ecss-addressbook DB
ECSS_ADDRESS_BOOK_DB_HOST=my-ssw.org
ECSS_ADDRESS_BOOK_DB_PORT=3306
ECSS_ADDRESS_BOOK_DB_NAME=ecss_address_book
ECSS_ADDRESS_BOOK_DB_USER=address_book
ECSS_ADDRESS_BOOK_DB_PASS=address_book
# ecss databases charset
ECSS_MYSQL_CHARSET=utf8
# elph-chat-server
BEARER_TOKEN_PRIVATE_KEY=some-token-private-key
# sso token authorized issuer
AUTH_TOKEN_ISSUER=https://[elph-proxy]/elph/auth/realms/[elph-keycloak-realm] |
|
DOCKER_REPO: URL Docker registry (репозиторий для образов контейнеров); TAG: Версия образов; VOLUMES_DIR: Директория для хранения данных контейнеров; RESTART_POLICY: Политика перезапуска контейнеров; ECSS_CALL_HISTORY_NODE_ENV: Окружение Node.js приложения; ECSS_CALL_HISTORY_DB_TAG: Тег образа базы данных; ECSS_CALL_HISTORY_DB_DATABASE: Имя БД истории вызовов; ECSS_CALL_HISTORY_DB_USERNAME: Имя пользователя БД истории вызовов; ECSS_CALL_HISTORY_DB_PASSWORD: Пароль пользователя БД истории вызовов; POLLING_INTERVAL: Интервал опроса БД MySQL в миллисекундах; POLLING_LIMIT: Лимит записей при опросе; LOG_LEVEL: Уровень логирования задаётся с помощью значений: "fatal", "error", "warn", "log", "debug", "verbose" по снижению приоритета. CALL_HISTORY_CLEANUP_THRESHOLD: Порог очистки истории звонков; CALL_HISTORY_CLEANUP_CRON: Расписание очистки в формате cron; ECSS_MEETING_DB_HOST: Хост базы данных ECSS MySQL MeetingDB; ECSS_MEETING_DB_PORT: Порт базы данных ECSS MySQL MeetingDB; ECSS_MEETING_DB_NAME: Имя базы данных ECSS MySQL MeetingDB; ECSS_MEETING_DB_USER: Пользователь базы данных ECSS MySQL MeetingDB; ECSS_MEETING_DB_PASS: Пароль базы данных ECSS MySQL MeetingDB; ECSS_CALLS_DB_HOST: Хост базы данных ECSS MySQL CallsDB; ECSS_CALLS_DB_PORT: Порт базы данных ECSS MySQLCallsDB; ECSS_CALLS_DB_NAME: Имя базы данных ECSS MySQLCallsDB; ECSS_CALLS_DB_USER: Пользователь базы данных ECSS MySQLCallsDB; ECSS_CALLS_DB_PASS: Пароль базы данных ECSS MySQL CallsDB; ECSS_CALLS_DB_TIMEZONE: Часовой пояс базы данных ECSS MySQL CallsDB;
ECSS_ADDRESS_BOOK_DB_HOST: Хост базы данных ECSS MySQL AddressBookDB; ECSS_ADDRESS_BOOK_DB_PORT: Порт базы данных ECSS MySQL AddressBookDB; ECSS_ADDRESS_BOOK_DB_NAME: Имя базы данных ECSS MySQL AddressBookDB; ECSS_ADDRESS_BOOK_DB_USER: Пользователь базы данных ECSS MySQL AddressBookDB; ECSS_ADDRESS_BOOK_DB_PASS: Пароль базы данных ECSS MySQL AddressBookDB;
ECSS_MYSQL_CHARSET: Кодировка баз данных; BEARER_TOKEN_PRIVATE_KEY: Приватный ключ для подписи JWT токенов; AUTH_TOKEN_ISSUER: URL сервера аутентификации (Keycloak) в формате https://my-elph-proxy.org/elph/auth/realms/my-elph-domain.
|
После внесения изменений в файл конфигурации перезапустите сервис командой:
./ecss-call-history.sh stop && ./ecss-call-history.sh up |
При использовании самоподписанных сертификатов необходимо добавить переменную NODE_TLS_REJECT_UNAUTHORIZED со значением "0" в docker-compose.yaml в блок environment сервиса call-history (располагается по пути ~/ecss-call-history/stable/docker-compose.yaml).
services:
#####################################################
# call-history
#####################################################
call-history:
restart: ${RESTART_POLICY}
image: ${DOCKER_REPO}/ecss/ecss-call-history/call-history:${TAG}
environment:
NODE_TLS_REJECT_UNAUTHORIZED: "0"
...
*Остальной docker-compose.yaml файл* |
|