Постановка задачи
Стандартный сценарий запуска ЕССМ подразумевает, что при запуске системы будут предоставлены права подключения привилегированного пользователя Postgres с правами на создание баз данных, пользователей и подключение плагинов к базам данных. Данный сценарий реализуется запуском базы данных на отдельном сервере при помощи Docker-контейнера, с инструкцией по данному алгоритму можно ознакомиться на странице инструкции по запуску ЕССМ с базой данных на отдельном сервере. Если такой подход невозможен по требованиям безопасности, то необходимые базы данных и пользователей нужно будет создать вручную. Алгоритм создания базы данных вручную для Ubuntu 22.04.5 описан ниже.
Запуск с созданием баз данных вручную
Настройка сервера баз данных
1. Установить СУБД PostgresPro или СУБД PostgreSQL 14:
# Установка пакета с PostgreSQL 14 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - # Установка PostgreSQL 14 на сервер sudo apt update sudo apt install postgresql-14 # Запуск сервиса PostgreSQL sudo systemctl start postgresql
2. Установить плагин timescaledb с версией 2.13.1 и timescaledb-toolkit с версией 1.18.0.
Установка плагина timescaledb
Для установки плагинов timescaledb и timescaledb-toolkit рекомендуется обратиться к официальной документации.
3. Создать базы данных, активировать расширения и добавить пользователей:
CREATE DATABASE eccm; -- После создания базы данных, перейдите в нее для выполнения дальнейших команд \c eccm CREATE USER eccm WITH ENCRYPTED PASSWORD 'eccm'; GRANT ALL PRIVILEGES ON DATABASE eccm TO eccm; CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; CREATE EXTENSION IF NOT EXISTS timescaledb_toolkit; CREATE EXTENSION IF NOT EXISTS pg_stat_statements; CREATE EXTENSION IF NOT EXISTS pg_trgm; ALTER EXTENSION timescaledb UPDATE; ALTER EXTENSION timescaledb_toolkit UPDATE;
Настройка сервера ECCM
Настройка параметров доступа к БД у сервисов ECCM
В файле ./eccm/.env необходимо настроить параметры доступа к базе данных:
ROOT_POSTGRES_USER=tester ROOT_POSTGRES_PASSWORD=tester ECCM_POSTGRES_DB=eccm ECCM_POSTGRES_USER=eccm ECCM_POSTGRES_PASSWORD=eccm
Запуск проекта с помощью compose-tools.sh
Запустить скрипт compose-tools.sh в корневой директории проекта, указав ключи:
--pull --start <адрес WEB интерфейса> --database-host <HOST> --database-port <PORT>
Например:
./compose-tools.sh --pull --start eccm9.test.loc --database-host 100.110.2.2 --database-port 5432
Контейнеры продукта ЕССМ самостоятельно проведут миграции и создадут таблицы для полноценной работы системы в базе данных.