Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Структура ПО РТЛС
| Info |
|---|
По умолчанию все модули имеют между собой связь средствами docker с возможностью установки каждого модуля на отдельной машине |
| Gliffy Diagram | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Image Added
Подготовка к развертыванию системы РТЛС
Минимальные требования (по умолчанию требования указаны для конфигурации UWB + LE + SRV и развертывании в пределах одной машины и могут меняться в зависимости от используемых модулей, конфигурации инфраструктуры, кол-ва меток, частоты обновления данных от меток, сроков хранения данных и т.д. ):
OS |
Ubuntu Server 20.04, Ubuntu Server 22.04, Debian 11
https://docs.docker.com/engine/install/
| |
CPU | 6 (recommended) |
CPU
cores CPU, 2GHz |
RAM |
6 Gb | |
FS | 50 Gb |
Порты | 443/tcp, 5683/udp |
Подготовка ОС к установке ПО РТЛС
* с поддержкой DTLS на анкерах | 5684/udp |
* с поддержкой LoRaWAN для получения траффика с БС | 1700/tcp |
Подготовка ОС к установке ПО РТЛС
| Info |
|---|
Все команды по конфигурации ОС и установке пакетов производятся под пользователем с административными правами (здесь и далее пользователь appuser). Все команды здесь и далее приведены для Ubuntu Server 20.04. Инструкции по установке на другие версии OS: docker и docker-compose |
Пользователя, под которым будет производится управление ПО РТЛС, добавить в группу docker
Code Block sudo usermod -aG docker appuserПовторно авторизоваться под пользователем appuser для применения прав доступа
Удалить старые версии пакетов Docker Engine (если были установлены ранее) . Docker, запущенный через snap, должен быть удален!
Code Block Code Block sudo apt-get remove docker docker-engine docker.io containerd runc sudo snap remove dockerДобавить репозиторий
Code Block sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullУстановить последние версии пакетов Docker Engine
Code Block sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Проверить , что пакеты установились успешно
Code Block docker version docker compose version
Пользователя, под которым будет производится управление ПО РТЛС, добавить в группу docker
Code Block sudo usermod -aG docker appuserПовторно авторизоваться под пользователем appuser для применения прав доступа
Чистая установка ПО РТЛС
| Info |
|---|
Все команды производятся под пользователем appuser |
Получить от РТЛС Логин и Пароль для доступа к репозиторию.
Авторизоваться в docker с полученными параметрами подключения
Code Block docker login repo.rtlsnet.ru:5000 Username: *** Password: **** Login Succeeded
На странице доступных релизов найти архив с конфигурацией нужной версии RTLS releases
Скачать и распаковать архив в папку rtls (где <version> версия ПО, которую требуется установить, например v4v5.3.8) 0) , <repo-user> имя пользователя для доступа к ресурсам репозитория РТЛС. В процессе выполнения команды curl потребуется ввести пароль для пользователя <repo-user>
Code Blockcode mkdir rtls cd rtls export RTLS_VERSION=<version> curl -u <repo-user> -v -L https://repo.rtlsnet.ru/repository/rawrtls-rtlspublic/srv/releasesrelease/$RTLS_VERSION/RTLS-compose-$RTLS_VERSION.tar.gz -o rtls.tar.gz tar -zxvfxvf rtls.tar.gz rm rtls.tar.gz
Запустить ПО в зависимости от необходимой конфигурации
запуск с поддержкой UWB
Code Block docker compose up -d
запуск с поддержкой получения данных по LoRa
Code Block docker compose --profile actobus up -d
Запуск с поддержкой BLE (включая получение данных по LoRa)
Code Block docker compose --profile ble up -d
После полного старта контейнера SRV статус должен перейти в healthy
Code Block docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c58f0cc80b8e repo.rtlsnet.ru:5000/emqx:4.4.2 "/usr/bin/docker-ent…" 43 hours ago Up 5 minutes (healthy) 1883/tcp, 4369-4370/tcp, 5369/tcp, 6369-6370/tcp, 8081/tcp, 8083-8084/tcp, 8883/tcp, 11883/tcp, 0.0.0.0:18083->18083/tcp, :::18083->18083/tcp rtls-emqx-1 af20240c2d95 repo.rtlsnet.ru:5000/srv:v5.0 "/entrypoint.sh -c s…" 44 hours ago Up 5 minutes (healthy) 0.0.0.0:9993->9993/tcp, :::9993->9993/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:8300->8081/tcp, :::8300->8081/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp rtls-srv-1 f16b0ad37ef3 repo.rtlsnet.ru:5000/le:v5.0 "/entrypoint.sh '-f …" 44 hours ago Up 5 minutes 0.0.0.0:5683->5683/udp, :::5683->5683/udp, 0.0.0.0:17320-17321->17320-17321/udp, :::17320-17321->17320-17321/udp, 0.0.0.0:8320->8320/tcp, :::8320->8320/tcp rtls-le-1 d95d0ae66074 repo.rtlsnet.ru:5000/postgres:9.6 "/entrypoint.sh post…" 44 hours ago Up 5 minutes (healthy) rtls-postgres-1
После старта сервисов должны быть доступны пользовательские интерфейсы, где <ip> адрес машины, на которой развернуто ПО РТЛС
https://<ip>/CToolUI - интерфейс конфигурации
https://<ip>/BA-UI - пользовательский интерфейс
http://<ip>:8420 - ресурсы actobus (при запуске ПО с профилем actobus и ble)
http://<ip>:8520 - ресурсы BLE (при запуске ПО с профилем ble)
Загрузка контейнеров через процедуру import
| Info |
|---|
Первоначальная загрузка образов производится на машине с доступом к репозиторию РТЛС |
Получить от РТЛС Логин и Пароль для доступа к репозиторию.
Авторизоваться в docker с полученными параметрами подключения
Code Block docker login repo.rtlsnet.ru:5000 Username: *** Password: **** Login Succeeded
На странице доступных релизов найти архив с конфигурацией нужной версии RTLS releases
Скачать и распаковать архив в папку rtls (где <version> версия ПО, которую требуется установить, например v4v5.3.8) 0) , <repo-user> имя пользователя для доступа к ресурсам репозитория РТЛС. В процессе выполнения команды curl потребуется ввести пароль для пользователя <repo-user>
Code Block mkdir rtls cd rtls export RTLS_VERSION=<version> curl -u <repo-user> -v -L https://repo.rtlsnet.ru/repository/rawrtls-rtlspublic/srv/releasesrelease/$RTLS_VERSION/RTLS-compose-$RTLS_VERSION.tar.gz -o rtls.tar.gz tar -zxvfxvf rtls.tar.gz rm rtls.tar.gz
Загрузить образы в локальное хранилище
Code Block docker compose pull
Сохранить образ в файл (где <file_name> имя контейнера, <version> - версия контейнера, например v5.0).
Code Block docker save -o <file_name>.tar repo.rtlsnet.ru:5000/name:<version> gzip <file_name>.tar
Повторить процедуру выгрузки для всех необходимых контейнеров
с поддержкой UWB: postgres, srv, le, emqx, emqx_init
с поддержкой LoRa: postgres, srv, le, emqx, emqx_init, redis, actobus
поддержкой BLE (включая получение данных по LoRa): postgres, srv, le, emqx, emqx_init, actobus, ble-solver, redis
Скопировать в домашнюю директорию пользователя appuser на машине, где развертывается ПО архивы
Импортировать каждый контейнер в docker (где <file_name> имя контейнера)
Code Block docker load -i <file_name>.tar.gz
Проверить результат импорта (в списке должны появиться версии контейнеров, экспортированные ранее)
Code Block docker images
Обновление ПО ( сохранением данных)
Запустить ПО в зависимости от необходимой конфигурации
запуск с поддержкой UWB
Code Block docker
compose up -dзапуск с поддержкой получения данных по LoRa
Code Block docker compose --profile actobus up -dЗапуск с поддержкой BLE (включая получение данных по LoRa)
Code Block docker compose --profile ble up -d
После полного старта контейнера SRV статус должен перейти в healthy
Code Block docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c58f0cc80b8e repo.rtlsnet.ru:5000/emqx:4.4.2 "/usr/bin/docker-ent…" 43 hours ago Up 5 minutes (healthy) 1883/tcp, 4369-4370/tcp, 5369/tcp, 6369-6370/tcp, 8081/tcp, 8083-8084/tcp, 8883/tcp, 11883/tcp, 0.0.0.0:18083->18083/tcp, :::18083->18083/tcp rtls-emqx-1 af20240c2d95 repo.rtlsnet.ru:5000/srv:v5.0 "/entrypoint.sh -c s…" 44 hours ago Up 5 minutes (healthy) 0.0.0.0:9993->9993/tcp, :::9993->9993/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:8300->8081/tcp, :::8300->8081/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp rtls-srv-1 f16b0ad37ef3 repo.rtlsnet.ru:5000/le:v5.0 "/entrypoint.sh '-f …" 44 hours ago Up 5 minutes 0.0.0.0:5683->5683/udp, :::5683->5683/udp, 0.0.0.0:17320-17321->17320-17321/udp, :::17320-17321->17320-17321/udp, 0.0.0.0:8320->8320/tcp, :::8320->8320/tcp rtls-le-1 d95d0ae66074 repo.rtlsnet.ru:5000/postgres:9.6 "/entrypoint.sh post…" 44 hours ago Up 5 minutes (healthy) rtls-postgres-1После старта сервисов должны быть доступны пользовательские интерфейсы, где <ip> адрес машины, на которой развернуто ПО РТЛС
https://<ip>/CToolUI - интерфейс конфигурации
https://<ip>/BA-UI - пользовательский интерфейс
http://<ip>:8420 - ресурсы actobus (при запуске ПО с профилем actobus и ble)
http://<ip>:8520 - ресурсы BLE (при запуске ПО с профилем ble)
Обновление ПО ( без сохранения данных)
Выключить все контейнеры
Code Block cd rtls docker compose stopУдалить папку rtls
Code Block cd ../rtls rm -rf rtlsПровести установку согласно инструкциям раздела Чистая установка ПО РТЛС
Обновление ПО ( сохранением данных)
Посмотреть текущие версии ПО
Code Block docker ps*Получить от РТЛС скрипт update.sql для обновления струкруры БД до нужной версии, если скрипт отсутствует на странице описания релиза, обновление БД не требуется. Не требуется для версий ПО РТЛС выше 6.6
Выключить все контейнеры
Code Block cd rtls docker compose stopСделать бекап текущего состояния через изменение имени рабочей директории rtls
Code Block cd ../ mv rtls rtls_bupСкачать и распаковать архив в папку rtls (где <version> версия ПО, которую требуется установить, например v4.3.8)
Code Block mkdir rtls cd rtls export RTLS_VERSION=<version> curl -u <repo-user> -v -Получить от РТЛС скрипт update.sql для обновления струкруры БД до нужной версии
Выключить все контейнеры
Code Block cd rtls docker compose stopСделать бекап текущего состояния через изменение имени рабочей директории rtls
Code Block cd ../ mv rtls rtls_bupСкачать и распаковать архив в папку rtls (где <version> версия ПО, которую требуется установить, например v4.3.8)
Code Block mkdir rtls cd rtls export RTLS_VERSION=<version> curl -L https://repo.rtlsnet.ru/repository/rawrtls-rtlspublic/srv/releasesrelease/$RTLS_VERSION/RTLS-compose-$RTLS_VERSION.tar.gz -o rtls.tar.gz tar -zxvf rtls.tar.gz rm rtls.tar.gz
Скопировать сохраненное состояние БД в новую рабочую директорию
Code Block cp -R ../rtls_bup/postgres/pgdata ./postgres/ cp -R ../rtls_bup/postgres/tablespaces ./postgres/tablespaces
* Загрузить со страницы с описанием релиза скрипт Положить полученный от разработчиков update.sql файл для обновления БД и положить в папку rtls/postgresЗапустить контейнер rtls_postgres_1 . Для версий ПО РТЛС выше 6.6 пп.7-9 можно пропустить
Запустить контейнер postgres
Code Block docker compose up -d postgres* Запустить процедуру обновления БД, заменить update.sql на правильное название файла, если оно отличается
Code Block docker compose up -d postgresЗапустить процедуру обновления БД
exec -ti postgres psql -d postgres -U rtls_pu -f /var/lib/postgresql/data/update.sqlСкопировать конфигурацию emxq контейнера (если исходная версия ПО РТЛС v5.x и были дополнительные настройки интеграции в EMQX в процессе работы, иначе можно пропустить)
Code Block cp -R ../rtls_bup/emqx/data/* emqx/data/- Скопировать параметры конфигурации контейнеров
Code Block cp -R ../rtls_bup/.env ./Code Block docker compose exec -ti postgres psql -d postgres -U rtls_pu -f /var/lib/postgresql/data/update.sql Запустить ПО в зависимости от необходимой конфигурации
запуск с поддержкой UWB
Code Block docker compose up -d
запуск с поддержкой получения данных по LoRa
Code Block docker compose --profile actobus up -d
Запуск с поддержкой BLE (включая получение данных по LoRa)
Code Block docker compose --profile ble up -d
Дождаться полного старта контейнера srv (статус healthy при опросе статуса контейнеров)
Code Block docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c58f0cc80b8e repo.rtlsnet.ru:5000/emqx:4.4.2 "/usr/bin/docker-ent…" 43 hours ago Up 5 minutes (healthy) 1883/tcp, 4369-4370/tcp, 5369/tcp, 6369-6370/tcp, 8081/tcp, 8083-8084/tcp, 8883/tcp, 11883/tcp, 0.0.0.0:18083->18083/tcp, :::18083->18083/tcp rtls-emqx-1 af20240c2d95 repo.rtlsnet.ru:5000/srv:v5.0 "/entrypoint.sh -c s…" 44 hours ago Up 5 minutes (healthy) 0.0.0.0:9993->9993/tcp, :::9993->9993/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:8300->8081/tcp, :::8300->8081/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp rtls-srv-1 f16b0ad37ef3 repo.rtlsnet.ru:5000/le:v5.0 "/entrypoint.sh '-f …" 44 hours ago Up 5 minutes 0.0.0.0:5683->5683/udp, :::5683->5683/udp, 0.0.0.0:17320-17321->17320-17321/udp, :::17320-17321->17320-17321/udp, 0.0.0.0:8320->8320/tcp, :::8320->8320/tcp rtls-le-1 d95d0ae66074 repo.rtlsnet.ru:5000/postgres:9.6 "/entrypoint.sh post…" 44 hours ago Up 5 minutes (healthy) rtls-postgres-1
Скопировать данные о картографических слоях, созданных в предыдущей версии ПО в рабочую папку
Code Block cp -R ../rtls_bup/srv/geoserver-data/data/rtls srv/geoserver-data/data/ cp -R ../rtls_bup/srv/geoserver-data/workspaces/rtls/site* srv/geoserver-data/workspaces/rtls/
Перезапустить контейнер сервера приложений
Code Block docker compose restart srv
Авторизоваться в BA-UI и проверить, что загруженные ранее карты доступны для работы
Обновление ПО ( без сохранения данных)
Выключить все контейнеры
| Code Block |
|---|
cd rtls
docker compose stop |
Удалить папку rtls
| Code Block |
|---|
cd ../rtls
rm -rf rtls |
Провести установку согласно инструкциям раздела Чистая установка ПО РТЛС
| Table of Contents | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
| Table of Contents | ||||||||
|