Files
shell-scripts/0-部署应用/Oracle-Cloud/tailchat聊天/tailchat-docker-compose.yaml
2024-11-28 16:42:36 +08:00

117 lines
2.7 KiB
YAML

version: "3.3"
services:
# Tailchat Core Services
service-core:
build:
context: .
image: tailchat-0818
restart: unless-stopped
env_file: docker-compose.env
environment:
SERVICES: core/gateway,core/user/*.service.js,core/group/*.service.js,core/chat/*.service.js,core/file,core/plugin/registry,core/config
PORT: 3000
depends_on:
- mongo
- redis
- minio
ports:
- "3001:3000"
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.api-gw.rule=PathPrefix(`/`)"
# - "traefik.http.services.api-gw.loadbalancer.server.port=3000"
networks:
- internal
# Open Platform
service-openapi:
build:
context: .
image: tailchat-0818
restart: unless-stopped
env_file: docker-compose.env
environment:
SERVICES: openapi/app,openapi/bot,openapi/integration,openapi/oidc/oidc
OPENAPI_PORT: 3003
OPENAPI_UNDER_PROXY: "true"
depends_on:
- mongo
- redis
- minio
ports:
- "3003:3003"
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.openapi-oidc.rule=PathPrefix(`/open`)"
# - "traefik.http.services.openapi-oidc.loadbalancer.server.port=3003"
networks:
- internal
# Plugin Service (All Plugins)
service-all-plugins:
build:
context: .
image: tailchat-0818
restart: unless-stopped
env_file: docker-compose.env
environment:
SERVICEDIR: plugins
depends_on:
- mongo
- redis
- minio
networks:
- internal
# Database
mongo:
image: mongo:4
restart: on-failure
volumes:
- /data/tailchat/mongo_data:/data/db
networks:
- internal
# Data cache and Transporter
redis:
image: redis:alpine
restart: on-failure
networks:
- internal
# Persist Storage
minio:
image: minio/minio
restart: on-failure
networks:
- internal
environment:
MINIO_ROOT_USER: tailchat
MINIO_ROOT_PASSWORD: com.msgbyte.tailchat
volumes:
- /data/tailchat/minio_storage:/data
command: minio server /data --console-address ":9001"
# Router
# traefik:
# image: traefik:v2.1
# restart: unless-stopped
# command:
# - "--api.insecure=true" # Don't do that in production!
# - "--providers.docker=true"
# - "--providers.docker.exposedbydefault=false"
# - "--entryPoints.web.address=:80"
# - "--entryPoints.web.forwardedHeaders.insecure" # Not good
# ports:
# - 11000:80
# - 127.0.0.1:11001:8080
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock:ro
# networks:
# - internal
# - default
networks:
internal: