Refactora nd update Yonote Onprem.

This commit is contained in:
2026-09-25 11:46:05 +03:00
parent f3f0c36b6b
commit e7b014b02e
23 changed files with 985 additions and 42 deletions
+136
View File
@@ -0,0 +1,136 @@
########## Обязательные переменные ##########
# Система Yonote поставляется с несколькими дополнительными сервисами:
# - PostgreSQL - основная БД для хранения данных
# - Keycloak - сервер авторизации
# - Minio - S3 файловое хранилище
# - Redis - key-value хранилище
# - Nginx - используется как reverse-proxy для всех сервисов
#
# Мы рекомендуем для каждого сервиса (кроме nginx) создать поддомены:
# Если мы хотим, чтобы Yonote был доступен по адресу domain.ru -> 80.11.121.12 (пример),
# то необходимо также создать следующие DNS записи для корректной работы системы:
# - domain.ru -> 80.11.121.12
# - auth.domain.ru -> domain.ru
# - s3.domain.ru -> domain.ru
#
# Если вы запускаете сервис с HTTPS,
# необходимо соответсвенно поменять на https:// и wss://
### Keycloak
AUTH_VERSION=19-0.1.0
# Адрес сервера авторизации (с http/https)
KC_YNT_HOST=auth.domain.ru
KC_YNT_HOST_PROTOCOL=http://
KC_YNT_URL=${KC_YNT_HOST_PROTOCOL}${KC_YNT_HOST}
# Подключение к базе данных (база создается автоматически)
KC_DB=keycloak
KC_DB_USERNAME=keycloak
KC_DB_PASSWORD=keycloak
# Адрес сервера S3/Minio (с http/https)
MINIO_YNT_HOST=s3.domain.ru
MINIO_ADMIN_YNT_HOST=s3-admin.domain.ru
MINIO_YNT_HOST_PROTOCOL=http://
MINIO_YNT_URL=${MINIO_YNT_HOST}${MINIO_YNT_HOST_PROTOCOL}
# Логин и пароль для администратора S3 (пользователь создается автоматически)
MINIO_ADMIN_USERNAME=admin
MINIO_ADMIN_PASSWORD=adminadmin
# Адрес для Yonote (укажите домен или адрес сервера)
BASENAME_FOR_SUBDOMAIN=domain.ru
YNT_HTTP_PROTOCOL=http://
YNT_WEBSOCKET_PROTOCOL=ws://
### OAuth/OIDC (Keycloak) - сервер авторизации
KC_USERNAME=admin
KC_PASSWORD=adminadmin
### S3 совместимое хранилище (Minio)
MINIO_ACCESS_KEY_ID=yonote
MINIO_SECRET_ACCESS_KEY=service-account-pass
### Yonote
APP_VERSION=1.8.3
# Данные для подключения к БД (БД и пользователь будут созданны автоматически)
YNT_DB_NAME=yonote
YNT_DB_USER=postgres
YNT_DB_PASSWORD=azsxdc
# Максимальный размер одно файла для загрузки в хранилище (в байтах)
AWS_S3_UPLOAD_MAX_SIZE=226214400
# Ключ шыфрования (32 байта). Рекомендуем использовать команду ниже для генерации ключа:
# `openssl rand -hex 32`
# храните данный ключ в надежном месте
SECRET_KEY=52d6e03912a5b9ebd8e42bd7bf2ad5db786796c6cdbc8ef2ca0ce7cb70659a42
# Уникальный random ключ. Используется для различных крипто-функций,
# рекомендуем так же использовать команду ниже для генерации ключа:
# `openssl rand -hex 32`
UTILS_SECRET=94ce65a2650c5919b9ba0fe52d87f36826942654fb67e568d157af9b4980d825
# SMTP сервер
SMTP_HOST=
SMTP_PORT=
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_FROM_EMAIL=
SMTP_REPLY_EMAIL=
SMTP_TLS_CIPHERS=
SMTP_SECURE=true
# Лицензионный ключ
# Для получения, обратитесь в отдел продаж hello@yonote.ru
LICENSE_KEY=eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2ODI0MjA4NjQsImV4cCI6MTY4NTAxMjg2NH0.UMYkxQ4ciJkO2-nxhluMESefzfXLOV-Lc_PlDTQl2uDT8kx2qeEYunCFUrYZ9scKD7MFGcJf18qDVAojqk8JHmj2Ss66zfrO_rFtXXiWGX3KVuwxAvsjtWY9ExASlXebsvqwDz1EpIC4glnaWxRXzJsPVhbGdd-mVVp-MRf-aySHbmlQjBbS4pfVKCxMumuuKJ64l4VjSzte3ejvebvSEeD7Dx4Zc-g12Viq_BzAFY4sCkY--iM7hBCzi2P3_8A8MVxUEHEkbnRURhuP-Nq6RSsbJCb5CK7zIAvtkLtb--ZN2WtZS9US4J-fUqeP4u6xdHdTWWFcTFDDqck96SBWFg
############ OPTIONAL ################
# Производить редирект на HTTPS если запрос пришел на HTTP
FORCE_HTTPS=false
# Отслеживать появление новых версий
ENABLE_UPDATES=false
# Как много подпроцессов множно запускать.
# Самый простой вариант подсчета: разделить доступный объем памяти сервера на 512Мб
WEB_CONCURRENCY=1
# Максимальный размер файла импорта (Для импорта из Notion, Confluence и тд)
MAXIMUM_IMPORT_SIZE=5120000
# Логировать HTTP запросы.
# DEBUG=http
# Список почтовых доменов с которых разрешена регистрация. Домены разделяются запятыми.
# По умолчанию разрешены любые домены
# ALLOWED_DOMAINS=
# Отправка отчетов об ошибках разработчикам.
# Закомментируйте, если не хотите делиться отчетами об ошибках
SENTRY_DSN=https://5bdaaba1cf8043ba9cc43933b65f3b46@sentry.wilix.dev/7
# Логотип команды, который будет отображаться при входе в систему.
# Будет уменьшен до height: 60px
# TEAM_LOGO=https://example.com/images/logo.png
# Язык по умолчанию
DEFAULT_LANGUAGE=ru_RU
# Ключи для отправки WEB Push уведомлений
# Инструкция по получению ключей https://yo.yonote.ru/share/onprem/doc/ustanovka-i-nastrojka-KbTxPbAUoo#h-generaciya-klyuchej-web-push-service-worker
SERVICE_WORKER_PUBLIC_KEY=
SERVICE_WORKER_PRIVATE_KEY=
# Интеграция с Telegram. Если TELEGRAM_BOT_TOKEN не указан, то интеграция отключена
# Инструкция по настройке https://yo.yonote.ru/share/onprem/doc/integraciya-s-telegram-9d2l0erXGN
# TELEGRAM_BOT_TOKEN=
# TELEGRAM_BOT_URL=
# Интеграция с Loop https://loop.ru/. Если LOOP_KEY не указан, то интеграция отключена
# LOOP_KEY=
# LOOP_SECRET=
# LOOP_VERIFICATION_TOKEN=
# LOOP_MESSAGE_ACTIONS=true
+145
View File
@@ -0,0 +1,145 @@
########## Обязательные переменные ##########
# Система Yonote поставляется с несколькими дополнительными сервисами:
# - PostgreSQL - основная БД для хранения данных
# - Keycloak - сервер авторизации
# - Minio - S3 файловое хранилище
# - Redis - key-value хранилище
# - Nginx - используется как reverse-proxy для всех сервисов
#
# Мы рекомендуем для каждого сервиса (кроме nginx) создать поддомены:
# Если мы хотим, чтобы Yonote был доступен по адресу domain.ru -> 80.11.121.12 (пример),
# то необходимо также создать следующие DNS записи для корректной работы системы:
# - domain.ru -> 80.11.121.12
# - auth.domain.ru -> domain.ru
# - s3.domain.ru -> domain.ru
#
# Если вы запускаете сервис с HTTPS,
# необходимо соответсвенно поменять на https:// и wss://
### Keycloak
AUTH_VERSION=19-0.1.0
# Адрес сервера авторизации (с http/https)
KC_YNT_HOST=auth.domain.ru
KC_YNT_HOST_PROTOCOL=http://
KC_YNT_URL=${KC_YNT_HOST_PROTOCOL}${KC_YNT_HOST}
# Подключение к базе данных (база создается автоматически)
KC_DB=keycloak
KC_DB_USERNAME=keycloak
KC_DB_PASSWORD=keycloak
# Адрес сервера S3/Minio (с http/https)
MINIO_YNT_HOST=s3.domain.ru
MINIO_ADMIN_YNT_HOST=s3-admin.domain.ru
MINIO_YNT_HOST_PROTOCOL=http://
MINIO_YNT_URL=${MINIO_YNT_HOST}${MINIO_YNT_HOST_PROTOCOL}
# Логин и пароль для администратора S3 (пользователь создается автоматически)
MINIO_ADMIN_USERNAME=admin
MINIO_ADMIN_PASSWORD=adminadmin
# Адрес для Yonote (укажите домен или адрес сервера)
BASENAME_FOR_SUBDOMAIN=domain.ru
YNT_HTTP_PROTOCOL=http://
YNT_WEBSOCKET_PROTOCOL=ws://
### OAuth/OIDC (Keycloak) - сервер авторизации
KC_USERNAME=admin
KC_PASSWORD=adminadmin
### S3 совместимое хранилище (Minio)
MINIO_ACCESS_KEY_ID=yonote
MINIO_SECRET_ACCESS_KEY=service-account-pass
### Yonote
APP_VERSION=1.45.33-1
# Данные для подключения к БД (БД и пользователь будут созданны автоматически)
YNT_DB_NAME=yonote
YNT_DB_USER=postgres
YNT_DB_PASSWORD=azsxdc
# Максимальный размер одно файла для загрузки в хранилище (в байтах)
AWS_S3_UPLOAD_MAX_SIZE=226214400
# Проксирование загузки/выгрузки на S3-хранилище, false (выключено) по умолчанию
S3_PROXY_ENABLED=false
# Размер части для Multipart загрузки, значение в мегабайтах, 1GB (1000) по умолчанию
S3_MULTIPART_PART_SIZE=1000
# Ключ шифрования (32 байта). Рекомендуем использовать команду ниже для генерации ключа:
# `openssl rand -hex 32`
# храните данный ключ в надежном месте
SECRET_KEY=
# Уникальный random ключ. Используется для различных крипто-функций,
# рекомендуем так же использовать команду ниже для генерации ключа:
# `openssl rand -hex 32`
UTILS_SECRET=
# SMTP сервер
SMTP_HOST=
SMTP_PORT=
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_FROM_EMAIL=
SMTP_REPLY_EMAIL=
SMTP_TLS_CIPHERS=
SMTP_SECURE=true
# Лицензионный ключ
# Для получения, обратитесь в отдел продаж hello@yonote.ru
LICENSE_KEY=
LICENSE_EXP_REMINDER=
############ OPTIONAL ################
# Производить редирект на HTTPS если запрос пришел на HTTP
FORCE_HTTPS=false
# Отслеживать появление новых версий
ENABLE_UPDATES=false
# Как много подпроцессов множно запускать.
# Самый простой вариант подсчета: разделить доступный объем памяти сервера на 512Мб
WEB_CONCURRENCY=1
# Максимальный размер файла импорта (Для импорта из Notion, Confluence и тд)
MAXIMUM_IMPORT_SIZE=5120000
# Логировать HTTP запросы.
# DEBUG=http
# Список почтовых доменов с которых разрешена регистрация. Домены разделяются запятыми.
# По умолчанию разрешены любые домены
# ALLOWED_DOMAINS=
# Отправка отчетов об ошибках разработчикам.
# Закомментируйте, если не хотите делиться отчетами об ошибках
SENTRY_DSN=https://5bdaaba1cf8043ba9cc43933b65f3b46@sentry.wilix.dev/7
# Логотип команды, который будет отображаться при входе в систему.
# Будет уменьшен до height: 60px
# TEAM_LOGO=https://example.com/images/logo.png
# Язык по умолчанию
DEFAULT_LANGUAGE=ru_RU
# Ключи для отправки WEB Push уведомлений
# Инструкция по получению ключей https://yo.yonote.ru/share/onprem/doc/ustanovka-i-nastrojka-KbTxPbAUoo#h-generaciya-klyuchej-web-push-service-worker
SERVICE_WORKER_PUBLIC_KEY=
SERVICE_WORKER_PRIVATE_KEY=
# Интеграция с Telegram. Если TELEGRAM_BOT_TOKEN не указан, то интеграция отключена
# Инструкция по настройке https://yo.yonote.ru/share/onprem/doc/integraciya-s-telegram-9d2l0erXGN
# TELEGRAM_BOT_TOKEN=
# TELEGRAM_BOT_URL=
# Интеграция с Loop https://loop.ru/. Если LOOP_KEY не указан, то интеграция отключена
# LOOP_KEY=
# LOOP_SECRET=
# LOOP_VERIFICATION_TOKEN=
# LOOP_MESSAGE_ACTIONS=true
# Feature flags
YN_FEATURE_DOCUMENTS_CUSTOM_EMOJI_ENABLED=true
YN_FEATURE_DATABASES_GALLERY_ENABLED=true
+106
View File
@@ -0,0 +1,106 @@
# Docker‑Compose для yonote‑сервера
## Обзор
В этом репозитории содержатся файлы конфигурации Docker Compose и файлы для развёртывания сервера yonote.
## Быстрый старт
### 1. Клонируйте репозиторий
```bash
git clone https://git.wilix.dev/yonote/onprem-deploy.git
cd yonote-docker-compose
```
### 2. Настройка окружения
```bash
cp .env.example .env
```
Отредактируйте файл `.env`, указав нужные значения конфигурации.
### 3. Настройка окружения yonote‑сервера
Проверьте и при необходимости отредактируйте файл `docker-compose.yml` в соответствии с вашими требованиями к конфигурации. Текущие значения — по умолчанию, они обеспечат работоспособное развёртывание. Некоторые значения будут подставлены при развёртывании из файла `.env`.
### 4. Запуск сервисов
```bash
docker-compose up -d
```
### 5. Проверка развёртывания
```bash
docker-compose ps
docker-compose logs -f [имя_сервиса]
```
## Полезные команды
| Действие | Команда |
| --- | --- |
| Запуск сервисов | `docker-compose up -d` |
| Остановка сервисов | `docker-compose down` |
| Просмотр логов | `docker-compose logs -f` |
| Перезапуск сервисов | `docker-compose restart` |
## Устранение неполадок
* **Просмотр логов сервиса**: `docker-compose logs [имя_сервиса]`
## Лицензия
[Тип лицензии] — подробности см. в файле LICENSE.
#####
# yonote Server Docker Compose
## Overview
This repository contains the Docker Compose configuration and deployment files for the yonote server.
## Quick Start
### 1. Clone the Repository
```bash
git clone https://git.wilix.dev/yonote/onprem-deploy.git
cd yonote-docker-compose
```
### 2. Environment Configuration
```bash
cp .env.example .env
```
Edit the `.env` file with your specific configuration values.
### 3. yonote Server Environment Configuration
Check and edit, if required, the `docker-compose.yml` file for your specific configuration requirements. The current values are default and will ensure a working deployment. Some values will be populated on deployment from the `.env` file.
### 4. Start the Services
```bash
docker-compose up -d
```
### 5. Verify Deployment
```bash
docker-compose ps
docker-compose logs -f [service-name]
```
## Useful Commands
| Action | Command |
|--------|---------|
| Start services | `docker-compose up -d` |
| Stop services | `docker-compose down` |
| View logs | `docker-compose logs -f` |
| Restart services | `docker-compose restart` |
## Troubleshooting
- **View service logs**: `docker-compose logs [service_name]`
## License
[License type] - See LICENSE file for details.
+167
View File
@@ -0,0 +1,167 @@
version: "3"
services:
yonote:
container_name: yonote
image: images.updates.yonote.ru/yonote:${APP_VERSION}
env_file:
- .env
ports:
- "3000"
depends_on:
- postgres
- redis
- keycloak
- s3-client
command: yarn start:selfhosted
environment:
BIND_HOST: 0.0.0.0
PORT: 3000
URL: ${YNT_HTTP_PROTOCOL}${BASENAME_FOR_SUBDOMAIN}
COLLABORATION_URL: ${YNT_WEBSOCKET_PROTOCOL}${BASENAME_FOR_SUBDOMAIN}
DATABASE_URL: postgres://${YNT_DB_USER}:${YNT_DB_PASSWORD}@postgres:5432/${YNT_DB_NAME}
OIDC_CLIENT_ID: yonote
OIDC_CLIENT_SECRET: ${KC_CLIENT_SECRET}
OIDC_AUTH_URI: ${KC_YNT_URL}/realms/yonote/protocol/openid-connect/auth
OIDC_TOKEN_URI: ${KC_YNT_URL}/realms/yonote/protocol/openid-connect/token
OIDC_USERINFO_URI: ${KC_YNT_URL}/realms/yonote/protocol/openid-connect/userinfo
OIDC_LOGOUT_URI: ${KC_YNT_URL}/realms/yonote/protocol/openid-connect/logout
AWS_S3_UPLOAD_BUCKET_URL: ${MINIO_YNT_URL}
AWS_ACCESS_KEY_ID: ${MINIO_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${MINIO_SECRET_ACCESS_KEY}
AWS_S3_UPLOAD_BUCKET_NAME: yonote-bucket
AWS_REGION: xx-xxxx-x
TELEGRAM_API_URL: https://api.telegram.org
OIDC_DISPLAY_NAME: email
OIDC_SCOPES: openid email
REDIS_URL: redis://redis:6379
PGSSLMODE: disable
USE_LEGACY_LOGOUT: true
AWS_S3_FORCE_PATH_STYLE: true
AWS_S3_ACL: private
volumes:
- ./License.key:/opt/yonote/License.key
networks:
- yonote-network
external_links:
- "nginx:${KC_YNT_HOST}"
- "nginx:${MINIO_YNT_HOST}"
redis:
container_name: redis
image: redis:7-alpine
restart: unless-stopped
user: "redis:redis"
networks:
- yonote-network
postgres:
container_name: postgres
image: postgres:14
restart: unless-stopped
environment:
POSTGRES_DB: ${YNT_DB_NAME}
POSTGRES_USER: ${YNT_DB_USER}
POSTGRES_PASSWORD: ${YNT_DB_PASSWORD}
KC_DB_USERNAME: ${KC_DB_USERNAME}
KC_DB_PASSWORD: ${KC_DB_PASSWORD}
user: "postgres:postgres"
volumes:
- db:/var/lib/postgresql/data
- ./postgres/init-keycloak-db.sh:/docker-entrypoint-initdb.d/init-keycloak-db.sh
networks:
- yonote-network
s3:
container_name: minio
image: minio/minio:RELEASE.2022-08-26T19-53-15Z
restart: unless-stopped
environment:
- MINIO_ROOT_USER=${MINIO_ADMIN_USERNAME}
- MINIO_ROOT_PASSWORD=${MINIO_ADMIN_PASSWORD}
command: server --address :9000 --console-address :9001 /data
ports:
- "9000"
- "9001"
volumes:
- minio:/data
networks:
- yonote-network
s3-client:
container_name: minio-client
image: minio/mc:RELEASE.2022-08-28T20-08-11Z
volumes:
- ./minio:/tmp/policies
environment:
MINIO_ACCESS_KEY_ID: ${MINIO_ACCESS_KEY_ID}
MINIO_SECRET_ACCESS_KEY: ${MINIO_SECRET_ACCESS_KEY}
MINIO_ADMIN_USERNAME: ${MINIO_ADMIN_USERNAME}
MINIO_ADMIN_PASSWORD: ${MINIO_ADMIN_PASSWORD}
entrypoint: >
/bin/sh -c "
/usr/bin/mc config host add myminio http://minio:9000 ${MINIO_ADMIN_USERNAME} ${MINIO_ADMIN_PASSWORD};
/usr/bin/mc mb myminio/yonote-bucket;
/usr/bin/mc policy set-json /tmp/policies/minio-bucket-policy.json myminio/yonote-bucket;
/usr/bin/mc admin user add myminio ${MINIO_ACCESS_KEY_ID} ${MINIO_SECRET_ACCESS_KEY};
/usr/bin/mc admin policy add myminio yonote-policy /tmp/policies/minio-user-policy.json;
/usr/bin/mc admin policy set myminio yonote-policy user=${MINIO_ACCESS_KEY_ID};
exit 0;
"
networks:
- yonote-network
depends_on:
- s3
keycloak:
container_name: keycloak
image: images.updates.yonote.ru/yonote-keycloak:${AUTH_VERSION}
ports:
- "8080"
environment:
KC_HOSTNAME: ${KC_YNT_HOST}
OIDC_CLIENT_SECRET: ${KC_CLIENT_SECRET}
YNT_HTTP_PROTOCOL: ${YNT_HTTP_PROTOCOL}
BASENAME_FOR_SUBDOMAIN: ${BASENAME_FOR_SUBDOMAIN}
KEYCLOAK_ADMIN: ${KC_USERNAME}
KEYCLOAK_ADMIN_PASSWORD: ${KC_PASSWORD}
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
KC_DB_USERNAME: ${KC_DB_USERNAME}
KC_DB_PASSWORD: ${KC_DB_PASSWORD}
PROXY_ADDRESS_FORWARDING: true
command: start-dev --spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true --import-realm
networks:
- yonote-network
depends_on:
- postgres
nginx:
container_name: nginx
image: nginx
ports:
- 80:80
environment:
BASENAME_FOR_SUBDOMAIN: ${BASENAME_FOR_SUBDOMAIN}
MINIO_YNT_HOST: ${MINIO_YNT_HOST}
MINIO_ADMIN_YNT_HOST: ${MINIO_ADMIN_YNT_HOST}
KC_YNT_HOST: ${KC_YNT_HOST}
DOLLAR: "$"
volumes:
- ./nginx/default.conf.tmpl:/etc/nginx/conf.d/default.conf.tmpl
networks:
yonote-network:
depends_on:
- postgres
- redis
- keycloak
- s3-client
- yonote
command: /bin/bash -c "envsubst < /etc/nginx/conf.d/default.conf.tmpl > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
networks:
yonote-network:
name: yonote-internal-network
volumes:
db:
minio:
@@ -0,0 +1,33 @@
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::yonote-bucket"
]
},
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::yonote-bucket/*"
]
}
]
}
@@ -0,0 +1,17 @@
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor",
"Effect": "Allow",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::yonote-bucket/*"
]
}
]
}
@@ -0,0 +1,85 @@
server {
server_name ${BASENAME_FOR_SUBDOMAIN};
proxy_http_version 1.1;
proxy_busy_buffers_size 512k;
proxy_buffers 4 512k;
proxy_buffer_size 256k;
proxy_connect_timeout 75s;
location / {
proxy_pass http://yonote:3000;
proxy_set_header Host ${DOLLAR}host;
proxy_set_header Connection '';
chunked_transfer_encoding off;
proxy_cache off;
}
location ^~/realtime {
proxy_http_version 1.1;
proxy_set_header Upgrade ${DOLLAR}http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host ${DOLLAR}host;
proxy_pass http://yonote:3000;
}
location ^~/collaboration {
proxy_http_version 1.1;
proxy_set_header Upgrade ${DOLLAR}http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host ${DOLLAR}host;
proxy_pass http://yonote:3000;
}
}
server {
server_name ${MINIO_YNT_HOST};
proxy_http_version 1.1;
proxy_busy_buffers_size 512k;
proxy_buffers 4 512k;
proxy_buffer_size 256k;
proxy_read_timeout 300s;
proxy_connect_timeout 75s;
location / {
proxy_pass http://s3:9000;
proxy_set_header Connection '';
chunked_transfer_encoding off;
proxy_set_header Host ${DOLLAR}host;
proxy_cache off;
}
}
server {
server_name ${MINIO_ADMIN_YNT_HOST};
proxy_http_version 1.1;
proxy_busy_buffers_size 512k;
proxy_buffers 4 512k;
proxy_buffer_size 256k;
proxy_read_timeout 300s;
proxy_connect_timeout 75s;
location / {
proxy_pass http://s3:9001;
proxy_set_header Connection '';
chunked_transfer_encoding off;
proxy_cache off;
}
}
server {
server_name ${KC_YNT_HOST};
proxy_http_version 1.1;
proxy_busy_buffers_size 512k;
proxy_buffers 4 512k;
proxy_buffer_size 256k;
proxy_read_timeout 300s;
proxy_connect_timeout 75s;
proxy_set_header X-Forwarded-For ${DOLLAR}proxy_protocol_addr; # To forward the original client's IP address
proxy_set_header X-Forwarded-Proto ${DOLLAR}scheme; # to forward the original protocol (HTTP or HTTPS)
proxy_set_header Host ${DOLLAR}host; # to forward the original host requested by the client
location / {
proxy_pass http://keycloak:8080;
}
}
@@ -0,0 +1,8 @@
#!/bin/bash
set -e
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE DATABASE keycloak;
CREATE USER ${KC_DB_USERNAME} WITH PASSWORD '${KC_DB_PASSWORD}';
GRANT ALL PRIVILEGES ON DATABASE keycloak TO ${KC_DB_USERNAME};
EOSQL