Постановка задачи
Стандартный сценарий запуска ECCM подразумевает, что при запуске системы будут предоставлены права подключения привилегированного пользователя Postgres с правами на создание баз данных, пользователей и подключение плагинов к базам данных. Сценарий реализуется запуском базы данных на отдельном сервере в Docker-контейнере, алгоритм описан в разделе "Запуск ECCM с базой данных на отдельном сервере". Если такой подход невозможен по требованиям безопасности, создайте базы данных и пользователей вручную. Ниже приведен алгоритм создания базы данных вручную для Ubuntu 22.04.5.
Запуск с созданием баз данных вручную
Поддерживаемые версии СУБД PostgreSQL
Начиная с версии ECCM 2.7, поддерживаются следующие версии СУБД:
| Версия PostgreSQL | Версия плагина timescaledb | Версия плагина timescaledb-toolkit |
|---|---|---|
| 16.11 | 2.24.0 | 1.22.0 |
Настройка сервера баз данных
Установить СУБД PostgresPro или СУБД PostgreSQL 16 по официальной документации производителя.
Установите плагин timescaledb версии 2.24.0 и timescaledb-toolkit версии 1.22.0.
Установка плагина timescaledb
Для установки плагинов timescaledb и timescaledb-toolkit рекомендуется обратиться к официальной документации.
Создайте базы данных, активируйте расширения и добавьте пользователей:
CREATE DATABASE eccm; -- После создания базы данных, перейдите в нее для выполнения дальнейших команд \c eccm CREATE USER "eccm" WITH LOGIN; GRANT ALL PRIVILEGES ON DATABASE eccm TO eccm; ALTER DATABASE "eccm" OWNER TO "eccm"; ALTER ROLE "eccm" WITH LOGIN ENCRYPTED PASSWORD '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_POSTGRES_PASSWORD определяется в .env.personal, а при его отсутствии — в eccm/.env.
Запуск проекта с помощью compose-tools.sh
Запустите скрипт compose-tools.sh в корневой директории проекта, указав ключи:
--pull --start <адрес веб-интерфейса> --database-host <HOST> --database-port <PORT>
Например:
./compose-tools.sh --pull --start eccm9.test.loc --database-host 100.110.2.2 --database-port 5432
Перед запуском самих контейнеров скрипт проверяет наличие файла .env.personal и в случае его отсутствия предлагает создать его в дополнительном диалоговом окне. При стандартных паролях система также предложит изменить их: вручную или с помощью автоматической генерации. После изменения паролей проект продолжит запуск.
Контейнеры продукта ECCM самостоятельно проведут миграции и создадут таблицы для полноценной работы системы в базе данных.