Инструкция по установке
Для XRM Director версии 1.0.1
Данная инструкция описывает только развертывание XRM Director на сервере, где `Docker` и `Docker Compose` уже установлены и готовы к работе.
Установка Docker на российские ОС описана отдельной инструкцией и в данный документ не входит.
Что будет развернуто
В составе поставки используются два контейнера:
backend— серверная часть XRM Director;frontend— веб-интерфейс XRM Director.
Используемые образы:
xrmtech/xrm-director-backend:beta_0.2.7xrmtech/xrm-director-frontend:beta_0.2.7Если для версии XRM Director 1.0.1 должны использоваться другие теги контейнерных образов, замените их в файле
docker-compose.ymlдо запуска.
Предварительные условия
Перед началом убедитесь, что:
установлена РЕД ОС 8;
пользователь имеет права
rootили может выполнять команды черезsudo;Dockerустановлен;Docker Composeустановлен;сервер имеет доступ к реестру контейнерных образов;
свободны порты
80/tcpи8001/tcp;настроена сетевая связность с брокерами OpenUDS;
подготовлены учетные данные администратора для подключения к брокерам OpenUDS.
Рекомендуется заранее проверить DNS, синхронизацию времени и доступность целевых брокеров OpenUDS.
Структура каталогов
Развертывание выполняется, например, в каталоге /opt/xrmd.
Итоговая структура:
Шаг 1. Подготовка каталогов
Рекомендуется заранее создать рабочие каталоги:
Этот шаг не является строго обязательным: при использовании `bind mount` Docker обычно может создать отсутствующие каталоги автоматически. Однако рекомендуется создать их заранее, чтобы избежать проблем с правами доступа, владельцем каталогов и записью данных приложения.
При необходимости назначьте права текущему пользователю:
Перейдите в каталог развертывания:
Шаг 2. Подготовка файла settings.py
settings.pyСоздайте файл /opt/xrmd/backend/settings.py со следующим содержимым:
Назначение параметров
ADMIN_USER— логин администратора XRM Director;ADMIN_PASSWORD— пароль администратора XRM Director;BROKER_CONN_TIMEOUT— таймаут подключения к брокерам OpenUDS в секундах.Значения
admin / adminдопустимы только для первичного запуска или тестового стенда. Для рабочей эксплуатации рекомендуется заменить их до запуска.Пример измененной конфигурации:
Шаг 3. Подготовка файла docker-compose.yml
docker-compose.ymlСоздайте файл /opt/xrmd/docker-compose.yml со следующим содержимым:
Что делает данный файл
публикует веб-интерфейс на порту
80;публикует backend API на порту
8001;подключает постоянные каталоги с конфигурацией, журналами и данными;
создает сеть Docker
xrm-network.Если порт
8001не должен быть доступен извне, после уточнения схемы эксплуатации его можно ограничить правилами межсетевого экрана или убрать из публикации.---
Шаг 4. Проверка SELinux
В РЕД ОС 8 может использоваться SELinux. Если он включен в режиме Enforcing, контейнерам может потребоваться дополнительная настройка доступа к примонтированным каталогам.
Проверьте текущий режим:
Если возвращается Enforcing, назначьте контекст для каталога backend:
Этот шаг особенно важен, если backend не видит `settings.py` или не может записывать данные в каталоги `logs`, `plandata`, `db`.
Шаг 5. Настройка сетевого доступа
Если на сервере включен firewalld, откройте необходимые порты:
Проверка:
Шаг 6. Запуск XRM Director
Из каталога /opt/xrmd выполните команду:
После запуска будут выполнены:
создание сети
xrm-network;загрузка контейнерных образов;
создание контейнеров
backendиfrontend;запуск сервисов в фоновом режиме.
Проверьте состояние контейнеров:
Оба сервиса должны находиться в состоянии `Up`.
Просмотр журналов
Общий просмотр:
Журналы backend:
Журналы frontend:
Просмотр в реальном времени:
Проверка опубликованных портов
Проверка веб-интерфейса
Откройте в браузере:
Шаг 8. Первый вход
Если в settings.py оставлены значения по умолчанию, используйте:
логин:
adminпароль:
admin
После входа рекомендуется:
проверить доступность backend;
проверить сетевую связность с брокерами OpenUDS;
выполнить тестовое подключение к брокеру.
Не оставляйте стандартные учетные данные в рабочем контуре.
Управление сервисом
Остановка
Остановка без удаления контейнеров
Повторный запуск
Перезапуск
Обновление
Перед обновлением рекомендуется сохранить резервную копию каталога /opt/xrmd/backend.
Типовой порядок обновления:
Если обновление требует смены тегов образов, сначала внесите изменения в docker-compose.yml.
После обновления проверьте:
состояние контейнеров;
журналы
backendиfrontend;доступность веб-интерфейса;
сохранность данных в каталогах
db,plandata,logs.
Резервное копирование
Для резервного копирования рекомендуется сохранять:
/opt/xrmd/docker-compose.yml;/opt/xrmd/backend/settings.py;/opt/xrmd/backend/db/;/opt/xrmd/backend/plandata/;при необходимости
/opt/xrmd/backend/logs/.
Пример архивирования:
Типовые проблемы
Контейнеры не запускаются
Проверьте:
Частые причины:
ошибка в
settings.py;заняты порты
80или8001;отсутствует доступ к реестру образов;
SELinuxблокирует доступ к каталогам.
Порт 80 уже используется
80 уже используетсяПроверьте, какой процесс занимает порт:
Если порт занят, измените публикацию frontend, например:
После этого веб-интерфейс будет доступен по адресу:
Backend не может писать в каталоги
Проверьте права:
Проверьте режим SELinux:
При необходимости повторно назначьте контекст:
Нет подключения к OpenUDS-брокерам
Проверьте:
сетевую маршрутизацию;
DNS-разрешение имен;
корректность учетных данных;
значение
BROKER_CONN_TIMEOUT.
При необходимости увеличьте таймаут:
После изменения конфигурации перезапустите backend:
Краткая схема установки
Подготовить каталог
/opt/xrmd.Создать
settings.py.Создать
docker-compose.yml.При необходимости настроить
SELinux.Открыть порты
80/tcpи8001/tcp.Выполнить
docker compose up -d.Проверить состояние контейнеров и журналы.
Выполнить первый вход и заменить пароль администратора.
Результат
После выполнения шагов XRM Director будет развернут на РЕД ОС 8 в контейнерном исполнении и готов к первичной настройке и подключению к брокерам OpenUDS.
Проверка успешного запуска
После завершения развертывания рекомендуется дополнительно проверить состояние контейнеров.
Выполните команду:
Пример вывода:
Если контейнеры `frontend` и `backend` находятся в состоянии `Up`, это означает, что сервисы успешно запущены и доступны для дальнейшей настройки.
Если один из контейнеров находится в состоянии Exited или Restarting, необходимо проверить журналы:
Last updated