Базовая информация
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
INSTANCE_NAME=onprem
|
||||
APP_INTERNAL_URL=http://web:80
|
||||
APP_COOKIE_VALIDATION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 32-symbolic key in .env.local
|
||||
APP_ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 64-symbolic key .env.local
|
||||
SERVICES_INTERNAL_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 64-symbolic key .env.local
|
||||
CHATBOX_WRAPPING_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 32-symbolic key in .env.local
|
||||
|
||||
S3_ENDPOINT=http://minio:9000
|
||||
S3_BUCKET=hrbox
|
||||
S3_KEY=
|
||||
S3_SECRET=
|
||||
S3_REGION=us-east-1
|
||||
S3_VERSION=latest
|
||||
S3_PATH_STYLE=true
|
||||
|
||||
POSTGRES_VHOST=postgresql
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_DB=hrbox
|
||||
POSTGRES_USER=hrbox
|
||||
POSTGRES_PASSWORD=
|
||||
|
||||
YII_ENV=dev
|
||||
YII_DEBUG=1
|
||||
YII_TRACE_LEVEL=0
|
||||
|
||||
AUTH_HOST=
|
||||
|
||||
LAUNCHER_CLIENT_ID=launcher
|
||||
LAUNCHER_ACK=600
|
||||
LAUNCHER_FILE_PROCESSES=1
|
||||
LAUNCHER_TASK_PROCESSES=5
|
||||
LAUNCHER_SEND_PROCESSES=10
|
||||
HRBOX_SESSION_PREFIX=HRBOX-
|
||||
|
||||
HR_WEBSERVER=true
|
||||
HR_WORKER=true
|
||||
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
|
||||
NATS_HOST=nats
|
||||
NATS_PORT=4222
|
||||
NATS_MONITOR_PORT=8222
|
||||
|
||||
SMTP_USERNAME=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=
|
||||
SMTP_FROM=
|
||||
SMTP_FROM_HOST=
|
||||
SMTP_SECURITY_TYPE=
|
||||
SMTP_SSL_ALLOW_SELF_SIGNED=
|
||||
SMTP_SSL_VERIFY_PEER=
|
||||
|
||||
SENTRY_DSN=https://54139ffa2dda46abba01afe3579346df@sentry.hrserver.ru/8
|
||||
GOWORKER_SENTRY_DSN=https://67598c2823c83ec5a9a2247fe39e9b10@sentry.hrserver.ru/20
|
||||
CHATBOX_SENTRY_DSN=https://aa682678dc95227e055274b35635d309@sentry.hrserver.ru/21
|
||||
DOCCONV_SENTRY_DSN=https://50c2a3514745f82438dea13a35314bb7@sentry.hrserver.ru/15
|
||||
|
||||
LDAPTLS_REQCERT=never
|
||||
|
||||
#FILE_IMAGE_ALLOWED_EXTENSIONS=png,jpg,gif,webp,jpeg
|
||||
#FILE_VIDEO_ALLOWED_EXTENSIONS=mov,avi,mp4,webm,wmv,m4p,m4v
|
||||
#FILE_ARCHIVE_ALLOWED_EXTENSIONS=zip,rar,7z,gz
|
||||
#FILE_DOCUMENT_ALLOWED_EXTENSIONS=pdf,doc,docx,xls,xlsx,xlsm,csv,ppt,pptx,epub,odt,odp,ods,rtf,djvu,txt,fb2,fb3,mobi
|
||||
#FILE_OTHER_ALLOWED_EXTENSIONS=mp3,key,eps,epf,torrent,dmg,svg,ai,cdr,indd,psd,enc
|
||||
#FILE_ENCRYPTED_ALLOWED_EXTENSIONS=enc
|
||||
@@ -0,0 +1,68 @@
|
||||
# Основные настройки приложения #
|
||||
DEFAULT_TENANT_HOSTNAME= # Здесь адрес портала (например, hrbox.company.ru)
|
||||
FORCE_HTTPS=true # Принудительно использовать HTTPS
|
||||
APP_ENV=prod # Вариант инсталляции (dev / prod)
|
||||
|
||||
# Настройки внутренних сервисов #
|
||||
GEONAMES_URL=http://geonames:8181 # Оставьте в соответствии с именем контейнера и порта в docker
|
||||
# КЭДО
|
||||
KEDOCA_URL=http://kedoca:8558 # Оставьте в соответствии с именем контейнера и порта в docker
|
||||
TSP_URL=http://qs.cryptopro.ru/tsp/tsp.srf # Зачастую не изменяется
|
||||
KEDO_ENGINE=gost
|
||||
KEDO_ALGORITHM=gost2012_256
|
||||
KEDO_PKEYOPT=paramset:A
|
||||
# Новый воркер
|
||||
GOWORKER_URL=http://goworker:8686 # Оставьте в соответствии с именем контейнера и порта в docker
|
||||
GOWORKER_PUSH_MIN_INTERVAL=1s # Минимальный интервал обновления данных
|
||||
|
||||
# Хаб
|
||||
HUB_URL=https://hub.hrbox.io # Предоставляется HRBOX
|
||||
HUB_TOKEN= # Предоставляется HRBOX
|
||||
|
||||
# Ключи #
|
||||
APP_ENCRYPTION_KEY= # Здесь ваш случайный ключ на 64 символа для шифрования
|
||||
APP_COOKIE_VALIDATION_KEY= # Здесь ваш ключ на 32 символа (для валидации куки)
|
||||
SERVICES_INTERNAL_SECRET= # Секрет на 64 символа для внутренних сервисов
|
||||
CHATBOX_WRAPPING_KEY= # Здесь ваш ключ на 32 символа (для шифрования чатов)
|
||||
|
||||
# База данных #
|
||||
POSTGRES_VHOST=10.0.0.20 # IP хоста БД
|
||||
POSTGRES_PORT=5432 # Порт хоста БД
|
||||
POSTGRES_DB=hrbox # Имя базы данных
|
||||
POSTGRES_USER=hrbox # Имя пользователя владельца базы данных
|
||||
POSTGRES_PASSWORD=password # Пароль пользователя
|
||||
POSTGRES_CITUS=false # установить true ТОЛЬКО В СЛУЧАЕ использования расширения Citus
|
||||
|
||||
# NATS JetStream #
|
||||
NATS_URL=nats://10.0.0.11:4222,nats://10.0.0.12:4222,nats://10.0.0.13:4222 # Перечисление хостов NATS кластера
|
||||
|
||||
# Redis или совместимая нереляционная БД #
|
||||
REDIS_HOST=10.0.0.13 # IP хоста Redis
|
||||
REDIS_PORT=6379 # Порт Redis
|
||||
REDIS_CONNECTION=tcp://10.0.0.13:6379 # Строка подключения, параметр необходим для работы Чатбокса
|
||||
# REDIS_PASSWORD=password # Пароль от Redis в случае использования парольной аутентификации
|
||||
|
||||
# Объектное оранилище #
|
||||
S3_ENDPOINT=http://s3.company.com # Адрес объектного хранилища
|
||||
S3_BUCKET=hrbox-bucket # Имя бакета
|
||||
S3_KEY=accesskey # Ключ доступа
|
||||
S3_SECRET=secretkey # Секрет ключа доступа
|
||||
S3_PREFIX= # Префиксная идентификация, зачастую не требуется
|
||||
S3_REGION=us-east-1 # Регион, для MinIO по умолчанию оставьте us-east-1
|
||||
S3_VERSION=latest # Версия, зачастую по умолчанию latest
|
||||
S3_PATH_STYLE=true # В большинстве случаев изменение не требуется (false необходимо при использовании AWS S3)
|
||||
|
||||
# Почтовый сервер # Требуется для рассылки приглашений пользователям
|
||||
SMTP_USERNAME= # Имя пользователя SMTP
|
||||
SMTP_PASSWORD= # Пароль пользователя SMTP
|
||||
SMTP_HOST=smtp.yandex.ru # Адрес хоста SMTP для рассылок, для yandex - smtp.yandex.ru
|
||||
SMTP_PORT=465 # 25, 465 или 687 в зависимости от используемых механизмов защиты. Для Yandex - 465
|
||||
SMTP_FROM_HOST=hrbox.company # Установите Ваш домен
|
||||
SMTP_SECURITY_TYPE=ssl # тип защиты (none, ssl, tls), для Yandex - ssl
|
||||
SMTP_SSL_ALLOW_SELF_SIGNED=true # Разрешить самоподписанные сертификаты (true / false)
|
||||
SMTP_SSL_VERIFY_PEER=false # Включить проверку пиров (true / false)
|
||||
SENDER_ENV=PROD
|
||||
|
||||
# OAuth. Если не используется - не раскомментируйте строки, чтобы не было пустых значений #
|
||||
# YANDEX_CLIENT_ID= # ID при использовании Yandex OAuth
|
||||
# YANDEX_CLIENT_PASSWORD= # Пароль при использовании Yandex OAuth
|
||||
@@ -0,0 +1,56 @@
|
||||
networks:
|
||||
hrbox:
|
||||
|
||||
x-common: &common
|
||||
restart: 'always'
|
||||
env_file:
|
||||
- .env
|
||||
- .env.local
|
||||
networks:
|
||||
- hrbox
|
||||
|
||||
services:
|
||||
web:
|
||||
<<: *common
|
||||
image: cr.yandex/crphnph9c2s776j32sjd/hrbox:latest
|
||||
ports:
|
||||
- '80:80'
|
||||
|
||||
worker:
|
||||
<<: *common
|
||||
image: cr.yandex/crphnph9c2s776j32sjd/hrbox:latest
|
||||
command: hrbox-worker
|
||||
|
||||
goworker:
|
||||
<<: *common
|
||||
image: cr.yandex/crphnph9c2s776j32sjd/hrbox-goworker:latest
|
||||
ports:
|
||||
- '8686:8686'
|
||||
|
||||
chatbox:
|
||||
<<: *common
|
||||
image: cr.yandex/crphnph9c2s776j32sjd/hrbox-chatbox:latest
|
||||
ports:
|
||||
- '9797:9797'
|
||||
|
||||
geonames:
|
||||
<<: *common
|
||||
image: cr.yandex/crphnph9c2s776j32sjd/hrbox-geonames:latest
|
||||
ports:
|
||||
- '8181:8181'
|
||||
|
||||
file-processor:
|
||||
<<: *common
|
||||
image: cr.yandex/crphnph9c2s776j32sjd/hrbox-file-processor:latest
|
||||
restart: 'always'
|
||||
depends_on:
|
||||
- web
|
||||
|
||||
kedoca:
|
||||
<<: *common
|
||||
image: cr.yandex/crphnph9c2s776j32sjd/hrbox-kedoca:latest
|
||||
volumes:
|
||||
- ./dev/ca-cert:/ca-cert
|
||||
ports:
|
||||
- '8558:8558'
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
### HRBOX ###
|
||||
HRBOX может быть горизонтально масштабирован на любое число Application Servers, что потребует балансировки roundrobin для запросов на домен. На каждом сервере приложения должен быть свой экземпляр NATS, настроенный по требованиям, указанным в *readme* для NATS.
|
||||
|
||||
Для конфигурации используются переменные окружения. Набор неизменяемых переменных представлен в *.env*. Переопределямые под конкретную инсталляцию переменные находятся в *.env.local*.
|
||||
|
||||
Укажите в *.env.local* все необходимые параметры в соответствии с данными в файле комментариями.
|
||||
@@ -0,0 +1,20 @@
|
||||
volumes:
|
||||
hrbox-nats-data:
|
||||
|
||||
services:
|
||||
nats:
|
||||
restart: "on-failure"
|
||||
image: nats:2.10
|
||||
command:
|
||||
- "-js"
|
||||
- "--server_name=nats1"
|
||||
- "--cluster_name=nats"
|
||||
- "--cluster=nats://0.0.0.0:6222"
|
||||
- "--routes=nats-route://10.0.0.12:6222,nats-route://10.0.0.30:6222"
|
||||
- "--store_dir=/data"
|
||||
volumes:
|
||||
- hrbox-nats-data:/data
|
||||
ports:
|
||||
- "4222:4222"
|
||||
- "8222:8222"
|
||||
- "6222:6222"
|
||||
@@ -0,0 +1,10 @@
|
||||
### NATS JetStream ###
|
||||
NATS развёртывается на всех Application Server и на Брокере.
|
||||
- "--server_name=nats1" — имена должны различаться на всех экземплярах кластера NATS;
|
||||
- "--cluster_name=nats" — должен совпадать на всех экземплярах;
|
||||
- "--cluster=nats://0.0.0.0:6222" — оставьте в текущем виде;
|
||||
- "--routes=nats-route://10.0.0.12:6222,nats-route://10.0.0.30:6222" — здесь указываются пути ко всем *остальным* хостам NATS в кластере. Укажите все, кроме текущего.
|
||||
|
||||
**Не забудьте указать все адреса кластера NATS в .env.local в директории с манифестом для приложения HRBOX на Application Servers и для HR-Conductor на Брокере.**
|
||||
|
||||
NATS_URL=nats://10.0.0.11:4222,nats://10.0.0.12:4222,nats://10.0.0.30:4222
|
||||
@@ -0,0 +1 @@
|
||||
NATS_URL=nats://10.0.0.11:4222,nats://10.0.0.12:4222,nats://10.0.0.30:4222
|
||||
@@ -0,0 +1,21 @@
|
||||
networks:
|
||||
hrboxonprem:
|
||||
|
||||
x-common: &common
|
||||
restart: "on-failure"
|
||||
env_file:
|
||||
- .env
|
||||
networks:
|
||||
- hrboxonprem
|
||||
logging:
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
services:
|
||||
conductor:
|
||||
<<: *common
|
||||
image: cr.yandex/crphnph9c2s776j32sjd/hrbox-conductor:latest
|
||||
volumes:
|
||||
- /var/spool/cron/crontabs
|
||||
- /etc/conductor
|
||||
@@ -0,0 +1,2 @@
|
||||
### HR-Conductor ###
|
||||
Conductor используется в для управления cron задачами. Разворачивается в единственном экземпляре и требует единственную переменную окружения — *NATS_URL*, идентичную той, что используется в HRBOX Application.
|
||||
@@ -0,0 +1,11 @@
|
||||
services:
|
||||
dragonfly:
|
||||
image: 'docker.dragonflydb.io/dragonflydb/dragonfly'
|
||||
ulimits:
|
||||
memlock: -1
|
||||
ports:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- dragonflydata:/data
|
||||
volumes:
|
||||
dragonflydata:
|
||||
@@ -0,0 +1,9 @@
|
||||
### Dragonfly ###
|
||||
Dragonfly - полностью совместимая с Redis РБД, и используется для хранения кэша и сессий пользователя.
|
||||
|
||||
! Данный сервис не обрабатывает персональные и иные чувствительные данные, и в стандартном развёртывании не использует парольную аутентификацию. При необходимости по требованиям безопасности реализации парольной аутентификации:
|
||||
|
||||
(*может значительно повлиять на производительность!*)
|
||||
- Убедитесь, что HRBOX WebSocket использует версию 2.3 или новее;
|
||||
- Измените команду запуска Redis/Dragonfly таким образом, чтобы сервис запускался с парольной защитой;
|
||||
- Добавьте "REDIS_PASSWORD=пароль" во все *.env.local* приложений.
|
||||
@@ -0,0 +1,20 @@
|
||||
volumes:
|
||||
hrbox-nats-data:
|
||||
|
||||
services:
|
||||
nats:
|
||||
restart: "on-failure"
|
||||
image: nats:2.10
|
||||
command:
|
||||
- "-js"
|
||||
- "--server_name=nats3"
|
||||
- "--cluster_name=nats"
|
||||
- "--cluster=nats://0.0.0.0:6222"
|
||||
- "--routes=nats-route://10.0.0.11:6222,nats-route://10.0.0.12:6222"
|
||||
- "--store_dir=/data"
|
||||
volumes:
|
||||
- hrbox-nats-data:/data
|
||||
ports:
|
||||
- "4222:4222"
|
||||
- "8222:8222"
|
||||
- "6222:6222"
|
||||
@@ -0,0 +1,10 @@
|
||||
### NATS JetStream ###
|
||||
NATS развёртывается на всех Application Server и на Брокере.
|
||||
- "--server_name=nats3" — имена должны различаться на всех экземплярах кластера NATS;
|
||||
- "--cluster_name=nats" — должен совпадать на всех экземплярах;
|
||||
- "--cluster=nats://0.0.0.0:6222" — оставьте в текущем виде;
|
||||
- "--routes=nats-route://10.0.0.11:6222,nats-route://10.0.0.12:6222" — здесь указываются пути ко всем *остальным* хостам NATS в кластере. Укажите все, кроме текущего.
|
||||
|
||||
**Не забудьте указать все адреса кластера NATS в .env.local в директории с манифестом для приложения HRBOX на Application Servers и для HR-Conductor на Брокере.**
|
||||
|
||||
NATS_URL=nats://10.0.0.11:4222,nats://10.0.0.12:4222,nats://10.0.0.30:4222
|
||||
Reference in New Issue
Block a user