新功能: - 创建AI聊天助手组件(AIChatWidget) - 支持文字+图片多模态对话 - 集成Gemini AI API - 支持图片编辑和内容生成 - 实时对话历史管理 - 优雅的UI设计,支持黑夜模式 技术实现: - 后端API代理Gemini API(/api/ai-chat) - 支持最多5张图片上传 - 流式响应处理 - 对话历史管理 - Base64图片处理 配置: - 在.env中添加Gemini API配置 - GEMINI_API_KEY - GEMINI_API_BASE_URL - GEMINI_MODEL 替换原弹幕功能,提供更强大的AI助手体验!
86 lines
2.2 KiB
YAML
Executable File
86 lines
2.2 KiB
YAML
Executable File
version: '3.9'
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: xiaogongju-app:latest
|
|
container_name: xiaogongju
|
|
restart: always
|
|
ports:
|
|
- "3231:3231"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- NODE_ENV=production
|
|
- MONGODB_URI=${MONGODB_URI}
|
|
- INIT_DB=${INIT_DB:-false}
|
|
- MINIO_ENDPOINT=${MINIO_ENDPOINT:-s3.ap-southeast-1.amazonaws.com}
|
|
- MINIO_PORT=${MINIO_PORT:-443}
|
|
- MINIO_USE_SSL=${MINIO_USE_SSL:-true}
|
|
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
|
|
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
|
|
- MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME:-yedir}
|
|
- MINIO_REGION=${MINIO_REGION:-ap-southeast-1}
|
|
- USE_S3_STORAGE=false
|
|
- AWS_SDK_LOAD_CONFIG=1
|
|
- AWS_REGION=${MINIO_REGION:-ap-southeast-1}
|
|
- PORT=3231
|
|
- REDIS_URL=redis://redis:6379
|
|
volumes:
|
|
- ./logs:/app/logs
|
|
- ./uploads:/app/uploads
|
|
- ./public/uploads:/app/public/uploads
|
|
- ./public/js/libs:/app/public/js/libs
|
|
- ./mindmap:/app/public/mindmap
|
|
- ./mind-map-main:/app/public/mind-map-main
|
|
- ./temp:/app/temp
|
|
- ./.env:/app/.env
|
|
networks:
|
|
- app-network
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-O-", "http://localhost:3231/api/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '2'
|
|
memory: 2G
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
container_name: xiaogongju-redis
|
|
restart: always
|
|
volumes:
|
|
- redis-data:/data
|
|
ports:
|
|
- "6379:6379"
|
|
networks:
|
|
- app-network
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
command: redis-server --appendonly yes --save 900 1 --save 300 10 --save 60 10000
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
|
|
volumes:
|
|
redis-data:
|
|
name: xiaogongju-redis-data
|
|
|
|
networks:
|
|
app-network:
|
|
driver: bridge |