В настоящем документе использованы и определены следующие термины и сокращения:
Термин/ Сокращение
Определение
БД
База данных.
ПО
Программное обеспечение.
Docker
ПО для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений.
Docker-compose
Инструментальное средство, входящее в состав Docker. Предназначено для решения задач, связанных с развёртыванием проектов.
Docker-образ
(Docker-image)
Шаблон для создания docker-контейнеров. Представляет собой исполняемый пакет, содержащий все необходимое для запуска приложения: код, среду выполнения, библиотеки, переменные окружения и файлы конфигурации.
Docker-контейнер (Docker-container)
Автономный исполняемый пакет программного обеспечения, созданный на основе docker-образа.
RT.MDM использует следующие программные компоненты:
Операционная система RED OS 7.3.
ПО Docker, Docker compose.
Сервер баз данных PostgreSQL 12.6 или выше.
Расширение PostGIS для сервера баз данных PostgreSQL.
Расширение btree_gin для PostgreSQL.
Расширение btree_gist для PostgreSQL.
Расширение dblink для PostgreSQL.
Расширение pg_stat_statements для PostgreSQL.
Расширение pg_trgm для PostgreSQL.
Расширение pgstattuple для PostgreSQL.
Расширение plpgsql для PostgreSQL.
Расширение plpython3u для PostgreSQL.
Расширение postgres_fdw для PostgreSQL.
Расширение tds_fdw для PostgreSQL.
Расширение uuid-ossp для PostgreSQL.
Система поставляется в виде набора микро-сервисов, обменивающихся между собой информацией. Каждый из микро-сервисов обернут в отдельный docker-образ. Все docker-образы расположены в хранилище docker-registry.
Запуск приложения включает в себя развертывание нескольких docker-контейнеров, которые основаны на базовых docker-образах. Конфигурация для каждого сервиса, включая сетевые настройки и зависимости, задается в файле docker-compose.yml. Значения переменных окружения, необходимых для настройки контейнеров, указываются в файле .env.
Создайте роли rtmdm_owner и rtmdm_api (rtmdm_owner сделать владельцем базы rtmdm. Роль rtmdm_api будет использоваться для запуска приложения).
Скачайте файл дампа базы данных mdm_dump из репозитория в папку /var/lib/pgsql/backups.
Восстановите базу из дампа: sudo -u postgres -H -- /usr/bin/pg_restore -h localhost -p 5432 -U postgres --verbose --dbname= mdm /var/lib/pgsql/backups/mdm_dump &>> /var/lib/pgsql/backups/mdm_demo_restore.log (в случае, если дамп сохранен не в папке /var/lib/pgsql/backups, заменить в команде название папки).
Проверьте, есть ли ошибки в файле /var/lib/pgsql/backups/mdm_demo_restore.log (на ошибки вида «функция pg_catalog.* не существует» не обращать внимание).
Скачайте из репозитория файлы архивов docker-образов.
Загрузите docker-образы в хранилище docker-registry при помощи команды docker load.
Проверьте наличие образов при помощи команды docker images.
Скачайте из репозитория файлы docker-compose.yml и .env в папку opt/services/rt-mdm (Если название папки отличается от /opt/services/rt-mdm, нужно будет в файле docker-compose.yml заменить все вхождения opt/services/rt-mdm на нужное значение).
В файле .env необходимо задать значения для переменных окружения. Обязательными являются переменные: - DB_MDM_URL - DB_MDM_USER - DB_MDM_PASSWORD
Выполните команды sudo chmod 777 /opt/services/rt-mdm/elasticsearch/data sudo chmod 777 /opt/services/rt-mdm/elasticsearch/logs
Перейдите в папку, содержащую файл docker-compose.yml и выполните команду: docker-compose up –d.
Запустите команду docker ps чтобы убедиться, что все сервисы поднялись.
Скачайте из репозитория файл template.xlsm и скопируйте его в папку /opt/services/rt-mdm/template (template.xlsm - это шаблон эксель, необходимый для работы со справочником в эксель).
Зайдите в интерфейс системы RT.MDM. Для этого нужно в строке браузера набрать ip-адрес сервера, на котором запущены сервисы, двоеточие и порт 7001.
На появившейся форме авторизации ввести в полях «Электронная почта» и «Пароль» значение admin (admin - это пользователь с административными правами, созданный по умолчанию). Изменить пароль пользователя admin, а также добавить новых пользователей можно в разделе «Права пользователей».