| Table of Contents | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Подготовка к развертыванию системы РТЛС
Минимальные требования (требования по ресурсам могут меняться в зависимости от используемых модулей, конфигурации инфраструктуры, кол-ва меток, частоты обновления данных от меток, сроков хранения данных и т.д):
...
| Gliffy Diagram | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
Подготовка ОС к установке ПО РТЛС
| Note |
|---|
Все команды по конфигурации ОС и установке пакетов производятся под пользователем с административными правами (sudo user) |
Установить пакеты doсker (CE) и docker-compose. Подробные инструкции доступны в официльной документации https://docs.docker.com/install/linux/docker-ce/centos/.
Установить пакеты для управления репозиториями
Code Block sudo yum install -y yum-utils
Добавить репозиторий
Code Block sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Установить пакет docker-ce
Code Block sudo yum install docker-ce
Установить последнюю версию docker-compose (версию 2.5.1 в URL заменить на более новую при необходимости)
Code Block sudo curl -L "https://github.com/docker/compose/releases/download/2.5.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
проверить, что пакеты установились успешно
Code Block docker version docker-compose version
Добавить сервис docker на автостарт
Code Block sudo systemctl enable docker
Запустить сервис
Code Block sudo systemctl start docker
Добавить сертификат для доступа к RTLS репозиторию repo.rtlsnet.ru (193.247.73.160) . В случае, если нет возможности подключения к RTLS репозиторию по сети интернет, см. Инструкции по обновлению контейнеров через процедуру import
Проверить подлючение к репозиторию
Code Block openssl s_client -connect repo.rtlsnet.ru:5000
Создать пользователя под которым будет происходить запуск ПО (например appuser). Добавить его в группу docker для работы с docker сервисами
Code Block sudo adduser appuser sudo usermod -aG docker appuser
если id пользователя и его персональной группы отличается от 1000:1000 в файле .env поменять USER_UID,USER_GID на правильные
проверить id пользователя и его персональной группы c помощью комманды id
Code Block id uid=1001(appuser) gid=1001(appuser) groups=1001(appuser),998(docker)
поменять в .env USER_UID и USER_GID. Здесь же можно настроить TZ , которая будет использоваться внутри контейнеров
Code Block USER_UID=1002 USER_GID=1001 TZ=Europe/Moscow
Чистая установка ПО РТЛС
| Info |
|---|
Все команды производятся под пользователем appuser |
Получить от РТЛС Логин и Пароль для доступа к репозиторию.
Авторизоваться в docker с полученными параметрами подключения
Code Block docker login repo.rtlsnet.ru:5000 Username: *** Password: **** Login Succeeded
На странице доступных релизов найти архив с конфигурацией нужной версии
Code Block https://repo.rtlsnet.ru/service/rest/repository/browse/raw-rtls/releases/
Скачать и распаковать архив в папку rtls (где $(version) версия ПО, которую требуется установить)
Code Block mkdir rtls cd rtls curl -L https://repo.rtlsnet.ru/repository/raw-rtls/releases/$(version)/RTLS-compose-$(version).tar.gz -o rtls.tar.gz tar -zxvf rtls.tar.gz rm rtls.tar.gz
В результате распаковки в файловой системе доступна для работы папка rtls со следующей
структуройCode Block [appuser@srv rtls]$ ls -lh total 12K drwxrwxr-x. 4 appuser appuser 31 Nov 27 2019 actobus drwxrwxr-x. 4 appuser appuser 31 Jan 15 2020 ble-solver -rw-rw-r--. 1 appuser appuser 5.3K Nov 24 11:58 docker-compose.yml drwxrwxr-x. 2 appuser appuser 38 Nov 27 2019 emulator drwxrwxr-x. 5 appuser appuser 42 Nov 27 2019 le drwxrwxr-x. 4 appuser appuser 109 Nov 22 17:30 postgres -rw-rw-r--. 1 appuser appuser 789 Nov 27 2019 README.md drwxrwxr-x. 4 appuser appuser 32 Nov 27 2019 redis drwxrwxr-x. 8 appuser appuser 112 Nov 22 17:27 srv
Запустить ПО в зависимости от необходимой конфигурации
запуск с поддержкой 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
Результат запуска средствами докера. Должны быть подняты 3 основных контейнера + actobus (ble-solver) в зависимости от профиля запуска
Code Block docker ps
После старта сервисов должны быть доступны пользовательские интерфейсы
https://<ip>/CToolUI - интерфейс конфигурации
https://<ip>/BA-UI - пользовательский интерфейс
http://<ip>:8420 - ресурсы actobus (при запуске ПО с профилем actobus и ble)
http://<ip>:8520 - ресурсы BLE (при запуске ПО с профилем ble)
Загрузка контейнеров через процедуру import
На странице доступных релизов найти архив с конфигурацией нужной версии
Code Block https://repo.rtlsnet.ru/service/rest/repository/browse/raw-rtls/releases/
Скачать и распаковать архив в папку rtls
Code Block mkdir rtls cd rtls curl -L https://repo.rtlsnet.ru/repository/raw-rtls/releases/$(version)/RTLS-compose-$(version).tar.gz -o rtls.tar.gz tar -zxvf rtls.tar.gz rm rtls.tar.gz
Загрузить локально контейнеры
Code Block docker-compose pull
Сохранить контейнер в файл (name - имя контейнера, version - версия контейнера, например v4.3.0). В итоге будет получена заархивированная копия контейнера <название файла>.tar.gz
Code Block docker save -o <название файла>.tar repo.rtlsnet.ru:5000/name:version gzip <название файла>.tar
Повторить процедуру выгрузки для всех необходимых контейнеров
с поддержкой UWB: postgres, srv, le
запуск с поддержкой получения данных по LoRa: postgres, srv, le, actobus, redis
Запуск с поддержкой BLE (включая получение данных по LoRa): postgres, srv, le, actobus, ble-solver, redis
Скопировать в домашнюю директорию пользователя appuser на машине, где развертывается ПО архивы
Импортировать каждый контейнер в docker
Code Block docker load -i <название файла>.tar.gz
Проверить результат импорта (в списке должны отображаться версии контейнеров, экспортированные ранее)
Code Block docker images
Обновление ПО ( сохранением данных)
Проверить версию docker-compose.
docker-compose version
Если версия ниже 1.28 для работы с последними версиями ПО РТЛС необходимо переустановить docker-compose (см. Подготовка ОС к установке ПО РТЛС )
Посмотреть текущую версию ПО РТЛС для контейнера srv в файле rtls/docker-compose.yml
Code Block nano rtls/docker-compose.yml
Получить от РТЛС скрипт update.sql для обновления струкруры БД до нужной версии
На странице доступных релизов найти архив с конфигурацией нужной версии
Code Block https://repo.rtlsnet.ru/service/rest/repository/browse/raw-rtls/releases/
Выключить все контейнеры
Сделать бекап текущего состояния через изменение имени рабочей директории rtls
Code Block mv rtls rtls_bup
Скачать и распаковать архив в папку rtls (заменить version на нужную версию ПО, например v4.3.7)
Code Block mkdir rtls cd rtls curl -L https://repo.rtlsnet.ru/repository/raw-rtls/releases/$(version)/RTLS-compose-$(version).tar.gz -o rtls.tar.gz tar -zxvf rtls.tar.gz rm rtls.tar.gz
Скопировать предыдущее состояние БД (папку pgdata в рабочую директорию)
Code Block cp -R ../rtls_bup/postgres/pgdata ./postgres/
Положить полученный от разработчиков update.sql файл в папку rtls/postgres
Запустить ПО
Code Block docker-compose up -d
Подключиться к БД контейнеру и запустить SQL скрипт
Code Block docker exec -ti rtls_postgres_1 psql -d postgres -U rtls_pu -f /var/lib/postgresql/data/update.sql
После старта в файловой системе должна быть доступна актуальная конфигурация настроек geo данных rtls/srv/geoserver-data
Code Block [appuser@srv rtls]$ ls -l srv/geoserver-data/ total 44 -rw-r--r--. 1 appuser appuser 855 Nov 22 17:27 csw.xml drwxr-xr-x. 4 appuser appuser 36 Nov 23 11:49 data drwxr-xr-x. 2 appuser appuser 4096 Nov 22 17:27 demo -rw-r--r--. 1 appuser appuser 1930 Nov 23 11:49 global.xml drwxr-xr-x. 3 appuser appuser 40 Nov 22 17:27 gwc -rw-r--r--. 1 appuser appuser 965 Nov 22 17:27 gwc-gs.xml drwxr-xr-x. 2 appuser appuser 266 Nov 23 11:49 gwc-layers drwxr-xr-x. 2 appuser appuser 28 Nov 22 17:27 layouts -rw-r--r--. 1 appuser appuser 144 Nov 22 17:27 logging.xml drwxr-xr-x. 2 appuser appuser 265 Nov 22 17:27 logs drwxr-xr-x. 2 appuser appuser 76 Nov 22 17:27 palettes drwxr-xr-x. 2 appuser appuser 4096 Nov 22 17:27 plugIns -rw-r--r--. 1 appuser appuser 3276 Nov 22 17:27 README.rst drwxr-xr-x. 8 appuser appuser 252 Nov 22 17:27 security drwxr-xr-x. 2 appuser appuser 4096 Nov 22 17:27 styles drwxr-xr-x. 2 appuser appuser 29 Nov 22 17:27 user_projections drwxr-xr-x. 2 appuser appuser 56 Nov 22 17:27 validation -rw-r--r--. 1 appuser appuser 1397 Nov 22 17:30 wcs.xml -rw-r--r--. 1 appuser appuser 1907 Nov 22 17:30 wfs.xml -rw-r--r--. 1 appuser appuser 1614 Nov 22 17:30 wms.xml drwxr-xr-x. 4 appuser appuser 49 Nov 22 17:27 workspaces drwxr-xr-x. 4 appuser appuser 76 Nov 22 17:27 www
Скопировать данные о картографических слоях, загруженных в раннюю версию ПО, в новую конфигурацию
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 restart rtls_srv_1
Авторизоваться в BA-UI и проверить, что загруженные ранее карты доступны для работы
Обновление ПО ( без сохранения данных)
Проверить версию docker-compose.
docker-compose version
Если версия ниже 1.28 для работы с последними версиями ПО РТЛС необходимо переустановить docker-compose (см. <Подготовка ОС к установке ПО РТЛС> )
Выключить все контейнеры
Code Block docker-compose -f rtls/docker-compose.yml stop
Удалить папку rtls
Code Block rm -rf rtls
Провести установку согласно инструкциям раздела <Чистая установка ПО РТЛС>
...