Запуск PC в Docker

Материал из PayControl Wiki
Версия от 02:29, 12 октября 2020; A.bursakov (обсуждение | вклад) (Новая страница: «=Образы= Поддерживают PC с версии 3.5. Доступны на hub.docker.com: * secrius/pc_wildfly:v5-pgsql * secrius/pc_wildfly:v5-oracl…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Образы

Поддерживают PC с версии 3.5.

Доступны на hub.docker.com:

  • secrius/pc_wildfly:v5-pgsql
  • secrius/pc_wildfly:v5-oracle
  • secrius/pc_wildfly:v5-mssql

5.2

Подготовка

БД

Создать БД PCS и PCSS.

Поддерживаемые — Postgres, Oracle, MS SQL.

Создать пользователя, под которым PC будет подключаться к БД. Необходимые привилегии CRUD + Create + Alter.

Структуру БД создавать не нужно. При первом подключении PC сам создаст все необходимые таблицы.

Размещение файлов модулей сервера

В соответствии с выбранной схемой включения модулей сервера в инфраструктуру (https://repo.paycontrol.org/server/doc/v5/infrastructure/), разместить файлы модулей (*.ear/*.war) в директории deployments соответствующих контейнеров. Модуль PCSS следует разместить в одном контейнере с PCS, однако, размещение в отдельном также допускается (при обеспечении их сетевой связности и требует для этого дополнительных настроек, не описанных в этом документе в настоящее время).

Запуск

Версия 5.2.033. Подключаемые тома:

  • deployments — в эту директорию размещаются (*.ear/*.war) модули компонентов сервера PC. У пользователя, от имени которого запускается процесс в контейнере (1000:1000) должны быть права на чтение/запись в директорию;
  • themes — нужна только для PCE, в случае необходимости размещать темы оформления для мобильного приложения PC;
  • log — используется для записи основным процессом контейнера файлов журнала работы WildFly;

Переменные окружения модуля PCE:

  • pc_url — адрес сервера PCS. Значение по умолчанию — http://localhost:8080/pc-api/;
  • pc_logRequests — включение журналирования запросов. Значение по умолчанию — false;
  • pc_locale — смена языка сообщений об ошибках, возвращаемых сервером мобильному приложению. Доступный вариант — ru. Значение по умолчанию en;
  • pc_themesPath — Используется для указания пути к директории, с помощью которой осуществляется публикация файлов тем для приложения PC. Значение по умолчанию — /opt/wildfly/pc_themes/;

Пример

Ниже приведены примеры файлов для схемы включения PCS, PCSS, PCP — в одном контейнере, PCE — в другом.

.env

PCS_DB_CONNECTION_URL=jdbc:postgresql://dbserver.example.com:5432/pcs
PCS_DB_USER=user
PCS_DB_PASSWORD=password
PCSS_DB_CONNECTION_URL=jdbc:postgresql://dbserver.example.com:5432/pcss
PCSS_DB_USER=user
PCSS_DB_PASSWORD=password

docker-compose.yml

version: '3.3'
services:
    pc:
        ports: 
            - 8080:8080
        restart: unless-stopped
        container_name: "pc_srv_int"
        volumes:
            - "/opt/pc/srv_int/deployments/:/opt/jboss/wildfly/standalone/deployments/:z"
            - "/opt/pc/srv_int/log/:/opt/jboss/wildfly/standalone/log/:z"
            - "/opt/pc/srv_int/pki/:/opt/pc/pki/:z"
        environment:
            - 'JAVA_OPTS=-Dfile.encoding=UTF-8'
            - PCS_DB_USER
            - PCS_DB_PASSWORD
            - PCS_DB_CONNECTION_URL
            - PCSS_DB_USER
            - PCSS_DB_PASSWORD
            - PCSS_DB_CONNECTION_URL
        image: "secrius/pc_wildfly:v5-pgsql"
    pce:
        ports: 
            - 8081:8080
        restart: unless-stopped
        container_name: "pc_external"
        volumes:
            - "/opt/pc/external/deployments/:/opt/jboss/wildfly/standalone/deployments/:z"
            - "/opt/pc/external/themes/:/opt/jboss/wildfly/pc_themes/:z"
            - "/opt/pc/external/log/:/opt/jboss/wildfly/standalone/log/:z"
        environment:
            - 'JAVA_OPTS=-Dpc_url=http://pcs:8080/pc-api/ -Dpc_locale=ru -Dpc_themesPath=/opt/jboss/wildfly/pc_themes/ -Dfile.encoding=UTF-8'
        image: "secrius/pc_wildfly:v5-pgsql"