# 当前影子环境发布不使用本文件作为入口。 # 影子发布以 scripts/git-incremental-deploy.ps1 -Target shadow 为准;本文件仅作本地/单机/基础环境参考。 # 不要按此文件推断当前线上影子容器启动参数、uploads 挂载或健康检查。 version: '3.8' services: redis-shadow: image: redis:7-alpine container_name: youyidian-3d-redis-shadow restart: unless-stopped ports: - "6380:6379" # 影子系统使用 6380 端口,避免与正式系统冲突 volumes: - redis-shadow-data:/data - ./redis.conf:/usr/local/etc/redis/redis.conf command: redis-server /usr/local/etc/redis/redis.conf networks: - app-shadow-network healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 3 app-shadow: image: youyidian-3d-material:local-deploy # build: # context: . # dockerfile: Dockerfile container_name: youyidian-3d-material-shadow restart: unless-stopped ports: - "5320:3000" # 影子系统使用 5320 端口,正式系统是 4320 # 内存限制配置(防止内存泄漏影响系统) deploy: resources: limits: memory: 6G # 硬限制:最大6GB reservations: memory: 512M # 软限制:保证至少512MB # 健康检查 healthcheck: test: ["CMD", "node", "-e", "process.exit(0)"] interval: 30s timeout: 10s retries: 3 start_period: 40s dns: - 223.5.5.5 # 阿里云DNS - 8.8.8.8 # Google DNS - 114.114.114.114 # 114DNS environment: - NODE_ENV=production - UPLOAD_DIR=/app/uploads # 影子系统连接到 stage 数据库(需要先创建 lobechat_stage 数据库) - DATABASE_URL=postgresql://gongxiangpan:gongxiangpan123@192.168.58.20:5432/lobechat_stage - DATABASE_DRIVER=node - KEY_VAULTS_SECRET=/7DcksaICAECGjB38O3s8AE0wj2NoGzwIog0iUUMugY= - VECTOR_DB=pgvector - PGVECTOR_DB_URL=postgresql://gongxiangpan:gongxiangpan123@192.168.58.20:5432/lobechat_stage - STORAGE_PROVIDER=s3 - S3_ENDPOINT=http://192.168.58.20:9000 # 内网地址,服务器直接访问不走FRP - S3_BUCKET=gongxiangpan - S3_ACCESS_KEY_ID=GXPAccessKey2025 - S3_SECRET_ACCESS_KEY=GXPSecretKey2025SecureMinIO - S3_REGION=us-east-1 - S3_PUBLIC_DOMAIN=https://s3.jiansun.vip/gongxiangpan - S3_ENABLE_PATH_STYLE=1 - S3_SET_ACL=1 - S3_PREVIEW_URL_EXPIRE_IN=7200 - NEXT_PUBLIC_S3_FILE_PATH=由壹点AI/ - APP_PUBLIC_URL=http://192.168.58.20:5320 # 影子系统使用独立的 URL,避免与正式系统登录态混淆 - NEXTAUTH_URL=http://192.168.58.20:5320 # 内网地址配置(用于流量分离:内网用户走内网网络,不占用外网带宽) - SERVER_IP=192.168.58.20 - MINIO_API_PORT=9000 - NEXTAUTH_SECRET=your-secret-key-change-this-in-production-shadow - GEMINI_API_KEY=sk-NqhrkeBudn6pUtStnOuOnGyDfasogvFSsex4YgjDXJU3SK3E - GEMINI_API_BASE_URL=https://api.huandutech.com/v1 - GEMINI_MODEL=gemini-2.0-flash-exp - DINGTALK_CLIENT_ID=ding1bs1gxwrcfu16x0f - DINGTALK_CLIENT_SECRET=qUmj_gBDzpPEYR3RA3hRqKzwu11a986O-wKfP8V5lDHXn7XJrXxW79KIeP5G-mcY - VIDEO_TRANSCODE_CODEC=libx265 - VIDEO_TRANSCODE_PRESET=medium - VIDEO_TRANSCODE_CRF=22 - VIDEO_AUDIO_BITRATE=160k # 下载 Token 密钥(用于外部接口文件下载鉴权) - DOWNLOAD_TOKEN_SECRET=yydd-product-package-download-token-secret-2026 # Redis配置(影子系统使用独立的 Redis 实例) - USE_REDIS=true - REDIS_URL=redis://redis-shadow:6379 volumes: - ./uploads-shadow:/app/uploads # 影子系统使用独立的 uploads 目录 depends_on: redis-shadow: condition: service_healthy networks: - app-shadow-network volumes: redis-shadow-data: driver: local networks: app-shadow-network: driver: bridge