Постановка задачи

Стандартный сценарий запуска ЕССМ подразумевает, что при запуске системы будут предоставлены права подключения привилегированного пользователя 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

Контейнеры продукта ЕССМ самостоятельно проведут миграции и создадут таблицы для полноценной работы системы в базе данных.