mirror of
https://github.com/hcengineering/platform.git
synced 2025-05-10 17:30:51 +00:00
516 lines
14 KiB
YAML
516 lines
14 KiB
YAML
services:
|
|
stream:
|
|
image: 'hardcoreeng/stream'
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
container_name: stream
|
|
environment:
|
|
- STREAM_ENDPOINT_URL=s3://huly.local:9000
|
|
- STREAM_INSECURE=true
|
|
- STREAM_SERVER_SECRET=secret
|
|
- AWS_ACCESS_KEY_ID=minioadmin
|
|
- AWS_SECRET_ACCESS_KEY=minioadmin
|
|
ports:
|
|
- 1080:1080
|
|
restart: unless-stopped
|
|
mongodb:
|
|
image: 'mongo:7-jammy'
|
|
container_name: mongodb
|
|
extra_hosts:
|
|
- 'huly.local: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
|
|
cockroach:
|
|
image: cockroachdb/cockroach:latest-v24.2
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
ports:
|
|
- '26257:26257'
|
|
- '8089:8080'
|
|
command: start-single-node --insecure
|
|
volumes:
|
|
- cockroach_db:/cockroach/cockroach-data
|
|
restart: unless-stopped
|
|
redpanda:
|
|
image: docker.redpanda.com/redpandadata/redpanda:v24.3.6
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
command:
|
|
- redpanda
|
|
- start
|
|
- --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:19092
|
|
- --advertise-kafka-addr internal://redpanda:9092,external://localhost:19092
|
|
- --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082
|
|
- --advertise-pandaproxy-addr internal://redpanda:8082,external://localhost:18082
|
|
- --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081
|
|
- --rpc-addr redpanda:33145
|
|
- --advertise-rpc-addr redpanda:33145
|
|
- --mode dev-container
|
|
- --smp 1
|
|
- --default-log-level=info
|
|
container_name: redpanda
|
|
volumes:
|
|
- redpanda:/var/lib/redpanda/data
|
|
ports:
|
|
- 18081:18081
|
|
- 18082:18082
|
|
- 19092:19092
|
|
- 19644:9644
|
|
healthcheck:
|
|
test: ['CMD', 'rpk', 'cluster', 'info', '-X', 'user=superuser', '-X', 'pass=secretpassword']
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
redpanda_console:
|
|
image: docker.redpanda.com/redpandadata/console:v2.8.3
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
entrypoint: /bin/sh
|
|
command: -c 'echo "$$CONSOLE_CONFIG_FILE" > /tmp/config.yml; /app/console'
|
|
environment:
|
|
CONFIG_FILEPATH: /tmp/config.yml
|
|
CONSOLE_CONFIG_FILE: |
|
|
kafka:
|
|
brokers: ["redpanda:9092"]
|
|
schemaRegistry:
|
|
enabled: true
|
|
urls: ["http://redpanda:8081"]
|
|
redpanda:
|
|
adminApi:
|
|
enabled: true
|
|
urls: ["http://redpanda:9644"]
|
|
ports:
|
|
- 8000:8080
|
|
depends_on:
|
|
- redpanda
|
|
minio:
|
|
image: 'minio/minio'
|
|
command: server /data --address ":9000" --console-address ":9001"
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
expose:
|
|
- 9000
|
|
- 9001
|
|
ports:
|
|
- 9000:9000
|
|
- 9001:9001
|
|
volumes:
|
|
- files:/data
|
|
restart: unless-stopped
|
|
elastic:
|
|
image: 'elasticsearch:7.14.2'
|
|
expose:
|
|
- 9200
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
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
|
|
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:
|
|
- 'huly.local:host-gateway'
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
- stats
|
|
ports:
|
|
- 3000:3000
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
- ACCOUNT_PORT=3000
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- SERVER_SECRET=secret
|
|
- ADMIN_EMAILS=admin,${PLATFORM_ADMIN_EMAILS}
|
|
- STATS_URL=http://huly.local:4900
|
|
- WORKSPACE_LIMIT_PER_USER=10000
|
|
- DB_URL=${DB_CR_URL}
|
|
# - DB_URL=${MONGO_URL}
|
|
# - DB_NS=account-2
|
|
# Pass only one region to disallow selection for new workspaces.
|
|
- REGION_INFO=|Mongo;cockroach|CockroachDB
|
|
- TRANSACTOR_URL=ws://huly.local:3333,ws://huly.local:3332;;cockroach,
|
|
- MAIL_URL=
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- FRONT_URL=http://huly.local:8087
|
|
- MODEL_ENABLED=*
|
|
- LAST_NAME_FIRST=true
|
|
# - WS_LIVENESS_DAYS=1
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
# - DISABLE_SIGNUP=true
|
|
restart: unless-stopped
|
|
stats:
|
|
image: hardcoreeng/stats
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
ports:
|
|
- 4900:4900
|
|
environment:
|
|
- PORT=4900
|
|
- SERVER_SECRET=secret
|
|
restart: unless-stopped
|
|
workspace:
|
|
image: hardcoreeng/workspace
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
- stats
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
- WS_OPERATION=all+backup
|
|
- SERVER_SECRET=secret
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- DB_URL=${MONGO_URL}
|
|
- STATS_URL=http://huly.local:4900
|
|
- MAIL_URL=
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- MODEL_ENABLED=*
|
|
- REGION=
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
- BACKUP_STORAGE=${BACKUP_STORAGE_CONFIG}
|
|
- BACKUP_BUCKET=${BACKUP_BUCKET_NAME}
|
|
# - INIT_WORKSPACE=staging-dev
|
|
restart: unless-stopped
|
|
workspace_cockroach:
|
|
image: hardcoreeng/workspace
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
links:
|
|
- cockroach
|
|
- minio
|
|
- stats
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
- WS_OPERATION=all+backup
|
|
- REGION=cockroach
|
|
- SERVER_SECRET=secret
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- DB_URL=${DB_CR_URL}
|
|
- STATS_URL=http://huly.local:4900
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- MODEL_ENABLED=*
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
- BACKUP_STORAGE=${BACKUP_STORAGE_CONFIG}
|
|
- BACKUP_BUCKET=${BACKUP_BUCKET_NAME}
|
|
- MAIL_URL=
|
|
# - INIT_WORKSPACE=staging-dev
|
|
restart: unless-stopped
|
|
collaborator:
|
|
image: hardcoreeng/collaborator
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
- transactor
|
|
- stats
|
|
ports:
|
|
- 3078:3078
|
|
environment:
|
|
- COLLABORATOR_PORT=3078
|
|
- SECRET=secret
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- STATS_URL=http://huly.local:4900
|
|
restart: unless-stopped
|
|
front:
|
|
image: hardcoreeng/front
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
- elastic
|
|
- transactor
|
|
- collaborator
|
|
- stats
|
|
ports:
|
|
- 8087:8080
|
|
- 8088:8080
|
|
environment:
|
|
- SERVER_PORT=8080
|
|
- SERVER_SECRET=secret
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- STATS_URL=http://huly.local:4900
|
|
- UPLOAD_URL=/files
|
|
- GMAIL_URL=http://huly.local:8088
|
|
- CALENDAR_URL=http://huly.local:8095
|
|
- TELEGRAM_URL=http://huly.local:8086
|
|
- REKONI_URL=http://huly.local:4004
|
|
- COLLABORATOR_URL=ws://huly.local:3078
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- GITHUB_URL=http://huly.local:3500
|
|
- PRINT_URL=http://huly.local:4005
|
|
- SIGN_URL=http://huly.local:4006
|
|
- ANALYTICS_COLLECTOR_URL=http://huly.local:4017
|
|
- DESKTOP_UPDATES_URL=https://dist.huly.io
|
|
- DESKTOP_UPDATES_CHANNEL=dev
|
|
- BRANDING_URL=http://huly.local:8087/branding.json
|
|
- STREAM_URL=http://huly.local:1080/recording
|
|
# - DISABLE_SIGNUP=true
|
|
restart: unless-stopped
|
|
transactor:
|
|
image: hardcoreeng/transactor
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
- account
|
|
- stats
|
|
ports:
|
|
- 3333:3333
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- REGION=
|
|
- SERVER_PORT=3333
|
|
- SERVER_SECRET=secret
|
|
- ENABLE_COMPRESSION=true
|
|
- STATS_URL=http://huly.local:4900
|
|
- FULLTEXT_URL=http://huly.local:4700
|
|
# - DB_URL=${DB_CR_URL}
|
|
- 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}
|
|
- FRONT_URL=http://huly.local:8087
|
|
- MAIL_URL=''
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- LAST_NAME_FIRST=true
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
- AI_BOT_URL=http://huly.local:4010
|
|
restart: unless-stopped
|
|
transactor_cockroach:
|
|
image: hardcoreeng/transactor
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
links:
|
|
- cockroach
|
|
- minio
|
|
- account
|
|
- stats
|
|
ports:
|
|
- 3332:3332
|
|
volumes:
|
|
- ./branding.json:/var/cfg/branding.json
|
|
environment:
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- SERVER_PORT=3332
|
|
- REGION=cockroach
|
|
- SERVER_SECRET=secret
|
|
- ENABLE_COMPRESSION=true
|
|
- FULLTEXT_URL=http://huly.local:4702
|
|
- STATS_URL=http://huly.local:4900
|
|
- DB_URL=${DB_CR_URL}
|
|
- METRICS_CONSOLE=false
|
|
- METRICS_FILE=metrics.txt
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- FRONT_URL=http://huly.local:8087
|
|
- MAIL_URL=''
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- LAST_NAME_FIRST=true
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
- AI_BOT_URL=http://huly.local:4010
|
|
- MSG2FILE_URL=http://huly.local:9087
|
|
- COMMUNICATION_TIME_LOGGING_ENABLED=true
|
|
restart: unless-stopped
|
|
rekoni:
|
|
image: hardcoreeng/rekoni-service
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
restart: unless-stopped
|
|
ports:
|
|
- 4004:4004
|
|
environment:
|
|
- STATS_URL=http://huly.local:4901
|
|
fulltext:
|
|
image: hardcoreeng/fulltext
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
restart: unless-stopped
|
|
links:
|
|
- elastic
|
|
- mongodb
|
|
- rekoni
|
|
ports:
|
|
- 4700:4700
|
|
environment:
|
|
- PORT=4700
|
|
- SERVER_SECRET=secret
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- DB_URL=${MONGO_URL}
|
|
- FULLTEXT_DB_URL=http://huly.local:9200
|
|
- ELASTIC_INDEX_NAME=local_storage_index
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- STATS_URL=http://huly.local:4900
|
|
- REKONI_URL=http://huly.local:4004
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
fulltext_cockroach:
|
|
image: hardcoreeng/fulltext
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
restart: unless-stopped
|
|
links:
|
|
- elastic
|
|
- cockroach
|
|
- rekoni
|
|
ports:
|
|
- 4702:4702
|
|
environment:
|
|
- PORT=4702
|
|
- REGION=cockroach
|
|
- SERVER_SECRET=secret
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- DB_URL=${DB_CR_URL}
|
|
- FULLTEXT_DB_URL=http://huly.local:9200
|
|
- ELASTIC_INDEX_NAME=local_storage_index # Same index for simplicity
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- STATS_URL=http://huly.local:4900
|
|
- REKONI_URL=http://huly.local:4004
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
print:
|
|
image: hardcoreeng/print
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
restart: unless-stopped
|
|
ports:
|
|
- 4005:4005
|
|
environment:
|
|
- SECRET=secret
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- STATS_URL=http://huly.local:4900
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
sign:
|
|
image: hardcoreeng/sign
|
|
extra_hosts:
|
|
- 'huly.local: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
|
|
- MINIO_ENDPOINT=minio
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- MINIO_ACCESS_KEY=minioadmin
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- MINIO_SECRET_KEY=minioadmin
|
|
- CERTIFICATE_PATH=/var/cfg/certificate.p12
|
|
- SERVICE_ID=sign-service
|
|
- BRANDING_PATH=/var/cfg/branding.json
|
|
- STATS_URL=http://huly.local:4900
|
|
# analytics:
|
|
# image: hardcoreeng/analytics-collector
|
|
# extra_hosts:
|
|
# - 'huly.local: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://huly.local:3000
|
|
# - STATS_URL=http://huly.local:4900
|
|
aiBot:
|
|
image: hardcoreeng/ai-bot
|
|
ports:
|
|
- 4010:4010
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
restart: unless-stopped
|
|
environment:
|
|
- SERVER_SECRET=secret
|
|
- MONGO_URL=${MONGO_URL}
|
|
- QUEUE_CONFIG=${QUEUE_CONFIG}
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- FIRST_NAME=Jolie
|
|
- LAST_NAME=AI
|
|
- PASSWORD=password
|
|
- AVATAR_PATH=./avatar.png
|
|
- AVATAR_CONTENT_TYPE=.png
|
|
- STATS_URL=http://huly.local:4900
|
|
# - LOVE_ENDPOINT=http://huly.local:8096
|
|
# - OPENAI_API_KEY=token
|
|
msg2file:
|
|
image: hardcoreeng/msg2file
|
|
ports:
|
|
- 9087:9087
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
restart: unless-stopped
|
|
environment:
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
- DB_URL=postgresql://root@huly.local:26257/defaultdb?sslmode=disable
|
|
- PORT=9087
|
|
- SECRET=secret
|
|
- SERVICE_ID=msg2file-service
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
export:
|
|
image: hardcoreeng/export
|
|
extra_hosts:
|
|
- 'huly.local:host-gateway'
|
|
links:
|
|
- mongodb
|
|
- minio
|
|
- stats
|
|
ports:
|
|
- 4009:4009
|
|
environment:
|
|
- PORT=4009
|
|
- SECRET=secret
|
|
- SERVICE_ID=export-service
|
|
- DB_URL=${MONGO_URL}
|
|
- STATS_URL=http://huly.local:4900
|
|
- STORAGE_CONFIG=${STORAGE_CONFIG}
|
|
- ACCOUNTS_URL=http://huly.local:3000
|
|
volumes:
|
|
db:
|
|
dbpg:
|
|
files:
|
|
elastic:
|
|
cockroach_db:
|
|
redpanda:
|