Установка с PostgreSQL (Docker) на одном сервере (ВМ) с приложением

Для установки необходимо выполнить следующие действия:

  1. Выполнить обновление списка доступных пакетов:

    	apt update
  2. Установить Docker и Docker-compose:

    	apt install -y docker.io docker-compose
  3. Создать директорию для PostgreSQL:

    	mkdir -p /srv/postgresql
  4. Создать файл docker-compose.yml для PostgreSQL и добавить в него конфигурацию:

    	cd /srv/postgresql/
    	nano docker-compose.yml
    version: "3"
    services:
      postgres:
        image: postgres:11
        restart: always
        environment:
          POSTGRES_DB: "polymatica"
          POSTGRES_USER: "polymatica"
          POSTGRES_PASSWORD: "polymatica"
          PGDATA: "/var/lib/postgresql/data/pgdata"
        volumes:
          - ./psql_init.sh:/docker-entrypoint-initdb.d/init-database.sh
          - /srv/postgresql/data/pgdata:/var/lib/postgresql/data/pgdata
        ports:
          - 0.0.0.0:5432:5432
  5. Создать файл psql_init.sh, добавить в него конфигурацию и предоставить права на исполнение:

    	nano psql_init.sh
    	chmod +x psql_init.sh
    #!/bin/bash
    set -e
    
    psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_USER" <<-EOSQL
        CREATE DATABASE platform_manager_cache;
        GRANT ALL PRIVILEGES ON DATABASE platform_manager_cache TO polymatica;
        CREATE DATABASE platform_manager;
        GRANT ALL PRIVILEGES ON DATABASE platform_manager TO polymatica;
        CREATE DATABASE platform_dashboard;
        GRANT ALL PRIVILEGES ON DATABASE platform_dashboard TO polymatica;
        CREATE DATABASE platform_notifications;
        GRANT ALL PRIVILEGES ON DATABASE platform_notifications TO polymatica;
        CREATE DATABASE platform_logstash;
        GRANT ALL PRIVILEGES ON DATABASE platform_logstash TO polymatica;
        CREATE DATABASE platform_storage;
        GRANT ALL PRIVILEGES ON DATABASE platform_storage TO polymatica;
    
    EOSQL
  6. Запустить PostgreSQL:

    	docker-compose up -d
  7. Создать директорию для репозитория:

    	mkdir -p /srv/polymatica/repo/
  8. Скачать архив репозитория astra.zip в созданную директорию:

    	https://repo.polymatica.ru/platform/packages/releases/1.11.0/astra.zip
  9. Разархивировать архив репозитория astra.zip:

    	cd /srv/polymatica/repo/
    	unzip astra.zip
  10. Добавить ключ для репозитория в список доверенных ключей:

    	cp polymatica.key /etc/apt/trusted.gpg.d/polymatica.asc
  11. Подключить репозиторий:

    	echo "deb file:/srv/polymatica/repo/astra/orel/ orel main" > /etc/apt/sources.list.d/polymatica.list
  12. Выполнить обновление списка доступных пакетов:

    	apt update
  13. Установить пакет для организации работы с PostgreSQL:

    	apt install polymatica-platform-external-postgresql
  14. Включить конфигурирование БД и отредактировать параметры подключения (user, password, host) к PostgreSQL в файле postgresql.env:

    	sed -i 's/false/true' /etc/polymatica/platform/env.d/postgresql.env
  15. Установить приложение:

    	apt install polymatica-platform
  16. Проверить статус сервисов приложения:

    	for service in $(systemctl list-unit-files polymatica-platform* | grep .service | cut -d. -f1); do echo "$service is $(systemctl show -p SubState --value $service)"; done
  17. Активировать лицензию:

    Для активации лицензии необходимо выполнить шаги описанные в инструкции - Лицензирование системы
  18. Для первого входа в систему необходимо использовать стандартные данные:

    Логин: admin

    Пароль: qwe123

Установка с отдельно стоящим PostgreSQL

Для установки необходимо выполнить следующие действия:

  1. Создать пользователя в PostgreSQL (например, polymatica)

  2. Создать БД для приложения и предоставить на них права для созданного пользователя:

    	CREATE DATABASE platform_manager_cache;
    	GRANT ALL PRIVILEGES ON DATABASE platform_manager_cache TO polymatica;
    
    	CREATE DATABASE platform_manager;
    	GRANT ALL PRIVILEGES ON DATABASE platform_manager TO polymatica;
    
    	CREATE DATABASE platform_dashboard;
    	GRANT ALL PRIVILEGES ON DATABASE platform_dashboard TO polymatica;
    
    	CREATE DATABASE platform_notifications;
    	GRANT ALL PRIVILEGES ON DATABASE platform_notifications TO polymatica;
    
    	CREATE DATABASE platform_logstash;
    	GRANT ALL PRIVILEGES ON DATABASE platform_logstash TO polymatica;
    
    	CREATE DATABASE platform_storage;
    	GRANT ALL PRIVILEGES ON DATABASE platform_storage TO polymatica;
  3. Настроить доступность PostgreSQL с сервера (ВМ), на котором будет установлено приложение

  4. Выполнить пункты 7-14 вышеуказанной инструкции

  • Нет меток