Запуск PC в Docker — различия между версиями

Материал из PayControl Wiki
Перейти к: навигация, поиск
Строка 10: Строка 10:
 
==Подготовка==
 
==Подготовка==
 
===БД===
 
===БД===
Создать БД PCS и PCSS.
+
Создать БД PCS и PCSS (опционально, только при использовании компонента Server Signer).
  
Поддерживаемые — Postgres, Oracle, MS SQL.
+
Поддерживаемые СУБД — Postgres, Oracle, MS SQL.
  
 
Создать пользователя, под которым PC будет подключаться к БД. Необходимые привилегии CRUD + Create + Alter.
 
Создать пользователя, под которым PC будет подключаться к БД. Необходимые привилегии CRUD + Create + Alter.
Строка 18: Строка 18:
 
Структуру БД создавать не нужно. При первом подключении PC сам создаст все необходимые таблицы.
 
Структуру БД создавать не нужно. При первом подключении PC сам создаст все необходимые таблицы.
 
===Размещение файлов модулей сервера===
 
===Размещение файлов модулей сервера===
В соответствии с выбранной схемой включения модулей сервера в инфраструктуру (https://repo.paycontrol.org/server/doc/v5/infrastructure/), разместить файлы модулей (*.ear/*.war) в директории ''deployments'' соответствующих контейнеров. Модуль PCSS следует разместить в одном контейнере с PCS, однако, размещение в отдельном также допускается (при обеспечении их сетевой связности и требует для этого дополнительных настроек, не описанных в этом документе в настоящее время).
+
В соответствии с выбранной схемой включения модулей сервера в инфраструктуру (https://repo.paycontrol.org/server/doc/v5.2/infrastructure/), разместить файлы модулей (*.ear/*.war) в директории ''deployments'' соответствующих контейнеров. Модуль PCSS следует разместить в одном контейнере с PCS, однако, размещение в отдельном также допускается (при обеспечении их сетевой связности и требует для этого дополнительных настроек, не описанных в этом документе в настоящее время).
 
==Запуск==
 
==Запуск==
Версия: 5.2.033.
+
''Версия: 5.2.033.''
  
 
Подключаемые тома:
 
Подключаемые тома:
Строка 26: Строка 26:
 
* ''themes'' — нужна только для PCE, в случае необходимости размещать темы оформления для мобильного приложения PC;
 
* ''themes'' — нужна только для PCE, в случае необходимости размещать темы оформления для мобильного приложения PC;
 
* ''log'' — используется для записи основным процессом контейнера файлов журнала работы WildFly;
 
* ''log'' — используется для записи основным процессом контейнера файлов журнала работы WildFly;
Переменные окружения модуля PCE:
+
* ''pki'' — опционально, при использовании PKI на базе OpenSSL.
 +
Дополнительные параметры запуска модуля PCE (JAVA_OPTS):
 
* ''pc_url'' — адрес сервера PCS. Значение по умолчанию — <code>http://localhost:8080/pc-api/</code>;
 
* ''pc_url'' — адрес сервера PCS. Значение по умолчанию — <code>http://localhost:8080/pc-api/</code>;
 
* ''pc_logRequests'' — включение журналирования запросов. Значение по умолчанию — <code>false</code>;
 
* ''pc_logRequests'' — включение журналирования запросов. Значение по умолчанию — <code>false</code>;
Строка 36: Строка 37:
 
Ниже приведены примеры файлов для схемы включения PCS, PCSS, PCP — в одном контейнере, PCE — в другом.
 
Ниже приведены примеры файлов для схемы включения PCS, PCSS, PCP — в одном контейнере, PCE — в другом.
 
====.env====
 
====.env====
 +
Параметры подключения к БД PCSS опциональны, и необходимы только при использовании модуля Server Signer.
 
<source lang="bash">
 
<source lang="bash">
 
PCS_DB_CONNECTION_URL=jdbc:postgresql://dbserver.example.com:5432/pcs
 
PCS_DB_CONNECTION_URL=jdbc:postgresql://dbserver.example.com:5432/pcs
Строка 45: Строка 47:
 
</source>
 
</source>
 
====docker-compose.yml====
 
====docker-compose.yml====
 +
* Подключение директории <code>/opt/pc/pki/</code> необходимо при использовании PKI на базе OpenSSL.
 +
* Подключение директории <code>/opt/jboss/wildfly/pc_themes/</code> опционально, и необходимо в случае размещения файлов тем оформления для мобильного приложений PC;
 
<source lang="yaml">
 
<source lang="yaml">
 
version: '3.3'
 
version: '3.3'

Версия 18:41, 15 февраля 2021

Образы

Поддерживают 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 (опционально, только при использовании компонента Server Signer).

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

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

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

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

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

Запуск

Версия: 5.2.033.

Подключаемые тома:

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

Дополнительные параметры запуска модуля PCE (JAVA_OPTS):

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

Настройка PC Pusher

Описание настройки PC Pusher доступно по этой ссылке

Пример

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

.env

Параметры подключения к БД PCSS опциональны, и необходимы только при использовании модуля Server Signer.

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

  • Подключение директории /opt/pc/pki/ необходимо при использовании PKI на базе OpenSSL.
  • Подключение директории /opt/jboss/wildfly/pc_themes/ опционально, и необходимо в случае размещения файлов тем оформления для мобильного приложений PC;
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"