# ============================================================ # EchoChat Docker 容器内配置 # 与 config.dev.yaml 的区别:数据库和 Redis 地址使用 Docker 服务名 # ============================================================ server: port: 8085 mode: debug database: host: postgres port: 5432 user: echochat password: echochat_dev_2026 dbname: echochat sslmode: disable max_idle_conns: 10 max_open_conns: 100 redis: host: redis port: 6379 password: "" db: 0 jwt: secret: echochat-dev-jwt-secret-2026-please-change-in-production access_expire_min: 120 refresh_expire_day: 7 issuer: echochat oauth: frontend_callback_url: "/echoChat-frontend/#/pages/auth/oauth-callback" providers: wechat: enabled: false client_id: "" client_secret: "" redirect_uri: "https://yl.z64.cn/api/v1/auth/oauth/wechat/callback" qq: enabled: false client_id: "" client_secret: "" redirect_uri: "https://yl.z64.cn/api/v1/auth/oauth/qq/callback" log: level: debug format: text output_path: stdout file: enable: true dir: logs max_size: 50 max_backups: 10 max_age: 30 compress: false minio: endpoint: "minio:9000" access_key: "echochat" secret_key: "echochat_2026-1s32dswW@#" bucket: "echochat" use_ssl: false public_base_url: "https://yl.z64.cn/echochat" # Node media-server 接入配置(Phase 2e-2 Task 7) media_server: base_url: "http://media-server:3300" # Docker 网络内服务名 internal_token: "dev-internal-token-change-me" # 生产环境通过 ECHOCHAT_MEDIA_SERVER_INTERNAL_TOKEN 覆盖 timeout_ms: 10000 # Task 16 Nit:5000 → 10000 兼容 Worker 冷启动 close_timeout_ms: 2000 close_retry: 2 create_router_retry: 1 # Task 16 Nit:CreateRouter 在 5xx/网络错误时的额外重试次数 # 外部 LLM/STT 配置中心(Phase B 语音转文字) # 仅做只读 t_llm_provider/t_llm_model/t_llm_key # 通过 ECHOCHAT_LLM_SOURCE_HOST / _USER / _PASSWORD / _DBNAME 在容器中覆盖 llm_source: enabled: false host: "" port: 3306 user: "" password: "" dbname: "" charset: utf8mb4 parse_time: true loc: Local max_idle_conns: 5 max_open_conns: 20 # 会议模块生命周期参数(Phase 2e-2 Task 8) meeting: host_grace_seconds: 120 empty_room_ttl_seconds: 300 cleanup_interval_seconds: 30 stale_room_hours: 4 # media-server 失败回调共享密钥:必须与 docker-compose 中 media-server 服务的 INTERNAL_WEBHOOK_SECRET 一致 # 生产部署请通过环境变量 ECHOCHAT_MEETING_INTERNAL_WEBHOOK_SECRET 覆盖(viper.AutomaticEnv 已开启) internal_webhook_secret: internal-webhook-12xqs cloud_law_internal_token: cloud-law-internal-xx14 recording_transcode_enabled: true recording_transcode_ffmpeg_path: ffmpeg recording_transcode_timeout_seconds: 600