- 实现Agent管理,支持AI辅助生成系统提示词 - 支持多个AI提供商(OpenRouter、智谱、MiniMax等) - 实现聊天室和讨论引擎 - WebSocket实时消息推送 - 前端使用React + Ant Design - 后端使用FastAPI + MongoDB Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
71 lines
1.6 KiB
YAML
71 lines
1.6 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# MongoDB数据库
|
|
mongodb:
|
|
image: mongo:7
|
|
container_name: ai-chatroom-mongodb
|
|
restart: unless-stopped
|
|
ports:
|
|
- "27017:27017"
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: admin
|
|
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD:-chatroom123}
|
|
networks:
|
|
- chatroom-network
|
|
healthcheck:
|
|
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
# 后端服务
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: ai-chatroom-backend
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8000:8000"
|
|
depends_on:
|
|
mongodb:
|
|
condition: service_healthy
|
|
environment:
|
|
- MONGODB_URL=mongodb://admin:${MONGO_PASSWORD:-chatroom123}@mongodb:27017
|
|
- MONGODB_DB=ai_chatroom
|
|
- HOST=0.0.0.0
|
|
- PORT=8000
|
|
- DEBUG=${DEBUG:-false}
|
|
- SECRET_KEY=${SECRET_KEY:-change-this-in-production}
|
|
- ENCRYPTION_KEY=${ENCRYPTION_KEY:-your-32-byte-encryption-key-here}
|
|
volumes:
|
|
- ./backend:/app
|
|
networks:
|
|
- chatroom-network
|
|
|
|
# 前端服务
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
container_name: ai-chatroom-frontend
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:80"
|
|
depends_on:
|
|
- backend
|
|
environment:
|
|
- VITE_API_URL=http://backend:8000
|
|
networks:
|
|
- chatroom-network
|
|
|
|
networks:
|
|
chatroom-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
mongodb_data:
|