Сервер BOOCO Astra (v 2.x) / RabbitMQ

Установка и настройка

Требования к окружению

Компоненты системы

PostgreSQL

RabbitMQ

Установка, запуск, остановка RabbitMQ, просмотр логов

Описание переменных .env для RabbitMQ

booco

bosql

master-logger

rest-api-v1

exchange-sync

ldap-access

trigger-factory

mailer

monitor

user-sync

Порядок установки

Настройка системы

Обновление

Требования

  1. Установка в Docker (рекомендовано) или другим способом.
  2. В RabbitMQ должен быть включен MQTT-плагин — для работы с устройствами и некоторыми триггерами.

Установка

  1. Создайте папку /opt/rabbitmqи перейдите в нее:

    sudo mkdir -p /opt/rabbitmq
    cd /opt/rabbitmq
    
  2. Скачайте файл docker-compose.yml:

    sudo curl <https://www.booco.ru/install/services/rabbitmq/docker-compose.yml> --output docker-compose.yml
    
  3. Скачайте и отредактируйте шаблон файла конфигурации .env:

    sudo curl <https://www.booco.ru/install/services/rabbitmq/config.env> --output .env
    

    Описание переменных .env для RabbitMQ

  4. При необходимости диспетчеризации логов настройте логирование с помощью микросервиса master-logger.

  5. Настройте MQTT-плагин. Для этого:

    5.1. В директории сервиса rabbitmq:

5.2. Запустите контейнер с rabbitmq :

sudo docker compose up -d

5.3. Добавьте пользователей* и назначьте им права с помощью команд:

sudo docker exec -it rabbitmq rabbitmqctl add_user mqtt-system <password>
sudo docker exec -it rabbitmq rabbitmqctl add_user mqtt-user <password>
sudo docker exec -it rabbitmq \\
rabbitmqctl set_permissions -p / mqtt-system ".*" ".*" ".*"
sudo docker exec -it rabbitmq \\
rabbitmqctl set_permissions -p / mqtt-user ".*" ".*" ".*"
sudo docker exec -it rabbitmq \\
rabbitmqctl set_topic_permissions \\
--vhost / mqtt-user booco.mqtt "devices.*channels.*" ".*"
sudo docker exec -it rabbitmq \\
rabbitmqctl set_topic_permissions \\
--vhost / mqtt-user booco.mqtt "resources.*status" ".*"

Для пользователя mqtt-user нужно задать ограничения на запись, для этого используйте регулярные выражения:

Запуск

sudo docker compose up -d
# или если .env называется по-другому
sudo docker compose --env-file rabbitmq.env up -d

Остановка

sudo docker compose down

Просмотр логов

sudo docker logs rabbitmq -f