Files
chat/docker-compose.yml

103 lines
2.3 KiB
YAML
Raw Normal View History

2026-04-25 16:36:34 +08:00
# Sales Chat Plugin for Tailchat
# Docker Compose Configuration
services:
# MongoDB - 数据库
mongo:
image: mongo:7
container_name: tailchat-mongo
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: tailchat
MONGO_INITDB_ROOT_PASSWORD: tailchat_secret
MONGO_INITDB_DATABASE: tailchat
volumes:
- mongo_data:/data/db
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
ports:
- "27017:27017"
networks:
- tailchat-network
# Redis - 缓存
redis:
image: redis:7-alpine
container_name: tailchat-redis
restart: unless-stopped
volumes:
- redis_data:/data
ports:
- "6379:6379"
networks:
- tailchat-network
# MinIO - 文件存储
minio:
image: minio/minio:latest
container_name: tailchat-minio
restart: unless-stopped
environment:
MINIO_ROOT_USER: tailchat
MINIO_ROOT_PASSWORD: tailchat_secret
command: server /data --console-address ":9001"
volumes:
- minio_data:/data
ports:
- "9000:9000"
- "9001:9001"
networks:
- tailchat-network
# Tailchat Server - 主服务(包含 Sales Chat 插件)
tailchat:
build:
context: .
dockerfile: Dockerfile
container_name: tailchat-server
restart: unless-stopped
depends_on:
- mongo
- redis
- minio
environment:
# 数据库配置
MONGO_URL: mongodb://tailchat:tailchat_secret@mongo:27017/tailchat?authSource=admin
REDIS_URL: redis://redis:6379
# 文件存储
MINIO_URL: minio:9000
MINIO_USER: tailchat
MINIO_PASS: tailchat_secret
MINIO_BUCKET_NAME: tailchat
# 认证
SECRET: ${JWT_SECRET:-change_this_secret_in_production}
# Sales Chat 插件配置
INVITE_BASE_URL: ${INVITE_BASE_URL:-http://localhost:3000}
# 管理员配置
ADMIN_USER: tailchat
ADMIN_PASS: com.msgbyte.tailchat
# 日志
LOG_LEVEL: info
# 服务发现 —— 同时加载 services 和 plugins 目录
SERVICEDIR: services,plugins
PORT: 3000
ports:
- "3000:3000"
networks:
- tailchat-network
volumes:
mongo_data:
redis_data:
minio_data:
networks:
tailchat-network:
driver: bridge