mirror of
https://github.com/hcengineering/platform.git
synced 2024-11-23 14:06:00 +03:00
bad07b90fc
Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com>
396 lines
12 KiB
YAML
396 lines
12 KiB
YAML
services:
|
|
mongodb:
|
|
image: 'mongo:7-jammy'
|
|
container_name: mongodb
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
healthcheck:
|
|
test: echo "try { db.currentOp().ok } catch (err) { }" | mongosh --port 27017 --quiet
|
|
interval: 5s
|
|
timeout: 30s
|
|
start_period: 0s
|
|
start_interval: 1s
|
|
retries: 30
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
volumes:
|
|
- db:/data/db
|
|
ports:
|
|
- 27017:27017
|
|
restart: unless-stopped
|
|
postgres:
|
|
image: postgres
|
|
container_name: postgres
|
|
environment:
|
|
- POSTGRES_PASSWORD=example
|
|
volumes:
|
|
- dbpg:/data/db
|
|
ports:
|
|
- 5432:5432
|
|
restart: unless-stopped
|
|
minio:
|
|
image: 'minio/minio'
|
|
command: server /data --address ":9000" --console-address ":9001"
|
|
ports:
|
|
- 9000:9000
|
|
- 9001:9001
|
|
volumes:
|
|
- files:/data
|
|
restart: unless-stopped
|
|
elastic:
|
|
image: 'elasticsearch:7.14.2'
|
|
command: |
|
|
/bin/sh -c "./bin/elasticsearch-plugin list | grep -q ingest-attachment || yes | ./bin/elasticsearch-plugin install --silent ingest-attachment;
|
|
/usr/local/bin/docker-entrypoint.sh eswrapper"
|
|
volumes:
|
|
- elastic:/usr/share/elasticsearch/data
|
|
ports:
|
|
- 9200:9200
|
|
environment:
|
|
- ELASTICSEARCH_PORT_NUMBER=9200
|
|
- BITNAMI_DEBUG=true
|
|
- discovery.type=single-node
|
|
- ES_JAVA_OPTS=-Xms1024m -Xmx1024m
|
|
- http.cors.enabled=true
|
|
- http.cors.allow-origin=http://localhost:8082
|
|
healthcheck:
|
|
interval: 20s
|
|
retries: 10
|
|
test: curl -s http://localhost:9200/_cluster/health | grep -vq '"status":"red"'
|
|
restart: unless-stopped
|
|
account:
|
|
image: hardcoreeng/account
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
ports:
|
|
- 3000:3000
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
- ACCOUNT_PORT=3000
|
|
- SERVER_SECRET=secret
|
|
# - DB_URL=postgresql://postgres:example@postgres:5432
|
|
- DB_URL=${MONGO_URL}
|
|
# - DB_NS=account-2
|
|
- REGION_INFO=|Mongo;pg|Postgres
|
|
- TRANSACTOR_URL=ws://host.docker.internal:3333,ws://host.docker.internal:3331;;pg
|
|
- SES_URL=
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- FRONT_URL=http://host.docker.internal:8087
|
|
- RESERVED_DB_NAMES=telegram,gmail,github
|
|
- MODEL_ENABLED=*
|
|
- LAST_NAME_FIRST=true
|
|
# - WS_LIVENESS_DAYS=1
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
# - DISABLE_SIGNUP=true
|
|
# - INIT_SCRIPT_URL=https://raw.githubusercontent.com/hcengineering/init/main/script.yaml
|
|
# - INIT_WORKSPACE=onboarding
|
|
restart: unless-stopped
|
|
workspace:
|
|
image: hardcoreeng/workspace
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
# deploy:
|
|
# mode: replicated
|
|
# replicas: 3
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
# - WS_OPERATION=create
|
|
- SERVER_SECRET=secret
|
|
- MONGO_URL=${MONGO_URL}
|
|
- DB_URL=${MONGO_URL}
|
|
# - DB_URL=postgresql://postgres:example@postgres:5432
|
|
- SES_URL=
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- FRONT_URL=http://host.docker.internal:8087
|
|
- RESERVED_DB_NAMES=telegram,gmail,github
|
|
- MODEL_ENABLED=*
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
- NOTIFY_INBOX_ONLY=true
|
|
# - PARALLEL=2
|
|
# - INIT_SCRIPT_URL=https://raw.githubusercontent.com/hcengineering/init/main/script.yaml
|
|
# - INIT_WORKSPACE=onboarding
|
|
restart: unless-stopped
|
|
workspacepg:
|
|
image: hardcoreeng/workspace
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
links:
|
|
- postgres
|
|
- minio
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
# - WS_OPERATION=create
|
|
- SERVER_SECRET=secret
|
|
- MONGO_URL=${MONGO_URL}
|
|
- DB_URL=postgresql://postgres:example@postgres:5432
|
|
- SES_URL=
|
|
- REGION=pg
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- FRONT_URL=http://host.docker.internal:8087
|
|
- RESERVED_DB_NAMES=telegram,gmail,github
|
|
- MODEL_ENABLED=*
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
# - PARALLEL=2
|
|
# - INIT_SCRIPT_URL=https://raw.githubusercontent.com/hcengineering/init/main/script.yaml
|
|
# - INIT_WORKSPACE=onboarding
|
|
restart: unless-stopped
|
|
collaborator:
|
|
image: hardcoreeng/collaborator
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
- transactor
|
|
ports:
|
|
- 3078:3078
|
|
environment:
|
|
- COLLABORATOR_PORT=3078
|
|
- SECRET=secret
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'MONGO_OPTIONS={"appName":"collaborator","maxPoolSize":2}'
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
restart: unless-stopped
|
|
front:
|
|
image: hardcoreeng/front
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
- elastic
|
|
- transactor
|
|
- collaborator
|
|
ports:
|
|
- 8087:8080
|
|
- 8088:8080
|
|
environment:
|
|
- UV_THREADPOOL_SIZE=10
|
|
- SERVER_PORT=8080
|
|
- SERVER_SECRET=secret
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'MONGO_OPTIONS={"appName":"front","maxPoolSize":1}'
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- UPLOAD_URL=/files
|
|
- ELASTIC_URL=http://host.docker.internal:9200
|
|
- GMAIL_URL=http://host.docker.internal:8088
|
|
- CALENDAR_URL=http://host.docker.internal:8095
|
|
- TELEGRAM_URL=http://host.docker.internal:8086
|
|
- REKONI_URL=http://host.docker.internal:4004
|
|
- COLLABORATOR_URL=ws://host.docker.internal:3078
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- GITHUB_URL=http://host.docker.internal:3500
|
|
- PRINT_URL=http://host.docker.internal:4005
|
|
- SIGN_URL=http://host.docker.internal:4006
|
|
- ANALYTICS_COLLECTOR_URL=http://host.docker.internal:4017
|
|
- DESKTOP_UPDATES_URL=https://dist.huly.io
|
|
- DESKTOP_UPDATES_CHANNEL=dev
|
|
- BRANDING_URL=http://host.docker.internal:8087/branding.json
|
|
# - DISABLE_SIGNUP=true
|
|
restart: unless-stopped
|
|
transactor:
|
|
image: hardcoreeng/transactor
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
links:
|
|
- mongodb
|
|
- elastic
|
|
- minio
|
|
- rekoni
|
|
- account
|
|
# - apm-server
|
|
ports:
|
|
- 3333:3333
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
# - SERVER_PROVIDER=uweb
|
|
# - UWS_HTTP_MAX_HEADERS_SIZE="32768"
|
|
- UV_THREADPOOL_SIZE=10
|
|
- SERVER_PORT=3333
|
|
- SERVER_SECRET=secret
|
|
- ENABLE_COMPRESSION=true
|
|
- ELASTIC_URL=http://host.docker.internal:9200
|
|
# - DB_URL=postgresql://postgres:example@postgres:5432
|
|
- DB_URL=${MONGO_URL}
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'MONGO_OPTIONS={"appName": "transactor", "maxPoolSize": 10}'
|
|
- METRICS_CONSOLE=false
|
|
- METRICS_FILE=metrics.txt
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- REKONI_URL=http://host.docker.internal:4004
|
|
- FRONT_URL=http://host.docker.internal:8087
|
|
# - APM_SERVER_URL=http://apm-server:8200
|
|
- SES_URL=''
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- LAST_NAME_FIRST=true
|
|
- ELASTIC_INDEX_NAME=local_storage_index
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
- SUPPORT_WORKSPACE=support
|
|
restart: unless-stopped
|
|
transactor_pg:
|
|
image: hardcoreeng/transactor
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
links:
|
|
- postgres
|
|
- elastic
|
|
- minio
|
|
- rekoni
|
|
- account
|
|
# - apm-server
|
|
ports:
|
|
- 3331:3331
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
# - SERVER_PROVIDER=uweb
|
|
# - UWS_HTTP_MAX_HEADERS_SIZE="32768"
|
|
- UV_THREADPOOL_SIZE=10
|
|
- SERVER_PORT=3331
|
|
- SERVER_SECRET=secret
|
|
- ENABLE_COMPRESSION=true
|
|
- ELASTIC_URL=http://host.docker.internal:9200
|
|
- DB_URL=postgresql://postgres:example@postgres:5432
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'MONGO_OPTIONS={"appName": "transactor-pg", "maxPoolSize": 1}'
|
|
- METRICS_CONSOLE=false
|
|
- METRICS_FILE=metrics.txt
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- REKONI_URL=http://host.docker.internal:4004
|
|
- FRONT_URL=http://host.docker.internal:8087
|
|
# - APM_SERVER_URL=http://apm-server:8200
|
|
- SES_URL=''
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- LAST_NAME_FIRST=true
|
|
- ELASTIC_INDEX_NAME=local_storage_index
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
restart: unless-stopped
|
|
rekoni:
|
|
image: hardcoreeng/rekoni-service
|
|
restart: unless-stopped
|
|
ports:
|
|
- 4004:4004
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 1024M
|
|
print:
|
|
image: hardcoreeng/print
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
restart: unless-stopped
|
|
ports:
|
|
- 4005:4005
|
|
environment:
|
|
- SECRET=secret
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'MONGO_OPTIONS={"appName":"print","maxPoolSize":1}'
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 300M
|
|
sign:
|
|
image: hardcoreeng/sign
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
restart: unless-stopped
|
|
ports:
|
|
- 4006:4006
|
|
volumes:
|
|
- ../services/sign/pod-sign/debug/certificate.p12:/var/cfg/certificate.p12
|
|
- ../services/sign/pod-sign/debug/branding.json:/var/cfg/branding.json
|
|
environment:
|
|
- SECRET=secret
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'MONGO_OPTIONS={"appName":"sign","maxPoolSize":1}'
|
|
- MINIO_ENDPOINT=minio
|
|
- MINIO_ACCESS_KEY=minioadmin
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- MINIO_SECRET_KEY=minioadmin
|
|
- CERTIFICATE_PATH=/var/cfg/certificate.p12
|
|
- SERVICE_ID=sign-service
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 300M
|
|
analytics:
|
|
image: hardcoreeng/analytics-collector
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
restart: unless-stopped
|
|
ports:
|
|
- 4017:4017
|
|
environment:
|
|
- SECRET=secret
|
|
- PORT=4017
|
|
- MONGO_URL=${MONGO_URL}
|
|
- 'MONGO_OPTIONS={"appName":"analytics","maxPoolSize":1}'
|
|
- SERVICE_ID=analytics-collector-service
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- SUPPORT_WORKSPACE=support
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 300M
|
|
aiBot:
|
|
image: hardcoreeng/ai-bot
|
|
ports:
|
|
- 4010:4010
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
restart: unless-stopped
|
|
environment:
|
|
- SERVER_SECRET=secret
|
|
- MONGO_URL=${MONGO_URL}
|
|
- ACCOUNTS_URL=http://host.docker.internal:3000
|
|
- SUPPORT_WORKSPACE=support
|
|
- FIRST_NAME=Jolie
|
|
- LAST_NAME=AI
|
|
- PASSWORD=password
|
|
- AVATAR_PATH=./avatar.png
|
|
- AVATAR_CONTENT_TYPE=.png
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 300M
|
|
# telegram-bot:
|
|
# image: hardcoreeng/telegram-bot
|
|
# extra_hosts:
|
|
# - "host.docker.internal:host-gateway"
|
|
# restart: unless-stopped
|
|
# environment:
|
|
# - PORT=4020
|
|
# - BOT_TOKEN=token
|
|
# - MONGO_URL=${MONGO_URL}
|
|
# - MONGO_DB=telegram-bot
|
|
# - SECRET=secret
|
|
# - DOMAIN=domain
|
|
# - ACCOUNTS_URL=http://host.docker.internal:3000
|
|
# - SERVICE_ID=telegram-bot-service
|
|
# deploy:
|
|
# resources:
|
|
# limits:
|
|
# memory: 300M
|
|
volumes:
|
|
db:
|
|
dbpg:
|
|
files:
|
|
elastic:
|