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

Запуск сервиса User Status:

./ecss-user-status.sh up

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

./ecss-user-status.sh stop

Остановка контейнеров сервиса User Status, с последующим удалением контейнеров, сетей, томов и образов, созданных с помощью команды ./ecss-user-status.sh up:

./ecss-user-status.sh down

Перезапуск сервиса User Status:

./ecss-user-status.sh restart

Проверка наличия обновлений в рамках текущей версии:

./ecss-user-status.sh pull

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

docker ps

Более подробно о командах смотрите в официальной документации по docker compose.

Логи

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

docker logs ecss-user-status-stable-ecss-user-status-db-1

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

docker logs ecss-user-status-stable-ecss-user-status-1

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

docker logs ecss_user_status_rabbit

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

docker logs ecss-user-status-stable-ecss-user-status-1 --follow

По умолчанию пишутся 10 файлов по 50 Мб. Логи расположены в /var/lib/docker/containers/<container>/.

Вывести список контейнеров можно командой:

docker ps

Для настройки параметров ротации нужно отредактировать docker-compose.yaml, расположенный в ecss-user-status/stable/. В данном файле под каждый контейнер отведен свой блок настроек:

    logging:
      driver: "json-file" 
      options:
        max-size: "50m" 
        max-file: "10" 

max-size: "50m" — максимальный размер файла лога;

max-file: "10" — максимальное количество файлов с логами указанного размера.

И перезапустить User Status Service:

./ecss-user-status.sh down
./ecss-user-status.sh up

После очистки контейнеров логи очищаются. Поэтому, перед остановкой User Status Service с очисткой контейнеров (./ecss-user-status.sh down), рекомендуется скопировать логи.

Файл конфигурации .env

#####################################################
# Global config
#####################################################
DOCKER_REPO="http://hub-ims.eltex-co.ru/"
TAG="2.13.0"



VOLUMES_DIR="./volumes"
RESTART_POLICY="always"

#####################################################
# ecss-user-status services
#####################################################
ECSS_USER_STATUS_NODE_ENV="production"
ECSS_USER_STATUS_NODE_TLS_REJECT_UNAUTHORIZED=0

# user-status DB
ECSS_USER_STATUS_DB_TAG="latest"
ECSS_USER_STATUS_DB_DATABASE="ecss_user_status"
ECSS_USER_STATUS_DB_USERNAME="root"
ECSS_USER_STATUS_DB_PASSWORD="password"

# shared bus
RABBITMQ_TAG="latest"
RABBITMQ_DEFAULT_USER="guest"
RABBITMQ_DEFAULT_PASS="guest"

#####################################################
# External endpoints
#####################################################
# shared bus
RABBITMQ_URL=amqp://guest:guest@172.17.0.1:5672/
# SSO
AUTH_TOKEN_ISSUER=https://[elph-proxy]/elph/auth/realms/[elph-keycloak-realm]
# elph-chat-server
BEARER_TOKEN_PRIVATE_KEY=some-token-private-key

#####################################################
# ecss-user-status
#####################################################
ECSS_USER_STATUS_ACTIVITY_EXPIRES=600
LOG_LEVEL=log


DOCKER_REPO: URL Docker registry (репозиторий для образов контейнеров);
TAG: Версия образов;
VOLUMES_DIR: Директория для хранения данных контейнеров;
RESTART_POLICY: Политика перезапуска контейнеров;

ECSS_USER_STATUS_NODE_ENV: Окружение Node.js приложения;
ECSS_USER_STATUS_NODE_TLS_REJECT_UNAUTHORIZED: Отключение проверки SSL сертификатов;

ECSS_USER_STATUS_DB_TAG: Тег образа базы данных;
ECSS_USER_STATUS_DB_DATABASE: Имя базы данных;
ECSS_USER_STATUS_DB_USERNAME: Имя пользователя БД;
ECSS_USER_STATUS_DB_PASSWORD: Пароль пользователя БД;

RABBITMQ_TAG: Тег образа RabbitMQ;
RABBITMQ_DEFAULT_USER: Имя пользователя RabbitMQ;
RABBITMQ_DEFAULT_PASS: Пароль пользователя RabbitMQ;

RABBITMQ_URL: URL для подключения к RabbitMQ в формате amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@172.17.0.1:5672/;

AUTH_TOKEN_ISSUER: URL сервера аутентификации(Keycloak) в формате https://my-elph-proxy.org/elph/auth/realms/my-elph-domain;
BEARER_TOKEN_PRIVATE_KEY: Приватный ключ для подписи JWT токенов;

ECSS_USER_STATUS_ACTIVITY_EXPIRES: Время действия статуса ONLINE в секундах;
LOG_LEVEL: Уровень логирования задаётся с помощью значений: "fatal", "error", "warn", "log", "debug", "verbose" по снижению приоритета.

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

./ecss-user-status.sh stop && ./ecss-user-status.sh up

Смена пароля администратора Rabbit

1. Перейдите по адресу http://[user-status-address]:15672/;

2. Зайдите под учетными данными Username: guest и Password: guest:

3. Откройте вкладку «Admin»:

3. Нажмите на «guest»:

4. Разверните раздел «Update this user» и введите новый пароль для пользователя:

5. Нажмите «Update user»;

6. Нажмите «Log out» и попробуйте войти с новым паролем;

7. Поменяйте пароль в .env файлах на User Status:

RABBITMQ_DEFAULT_PASS="new-password"
RABBITMQ_URL=amqp://guest:new-password@172.17.0.1:5672/
./ecss-user-status.sh down && ./ecss-user-status.sh up

и Chat Server:

RABBITMQ_URL="amqp://guest:new-password@ip_status_server:5672"
KK_TO_RMQ_USERNAME="guest"
KK_TO_RMQ_PASSWORD="guest"
./ecss-elph-chat-server.sh down && ./ecss-elph-chat-server.sh up
  • Нет меток