# 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