环境变量
Data Agent 在不同部署模式下都依赖一组核心环境变量来描述项目名称和元数据库(PostgreSQL)。建议在部署前梳理清楚这些变量的值,并通过 Docker Compose 或集群 Secret 的方式统一管理。
核心变量清单
APP_KEY 安全说明
APP_KEY 是系统安全的核心配置,务必妥善管理。
生成方式
APP_KEY 必须随机生成且保持固定,长度和格式无特殊要求。可使用以下命令生成:
作用
用于签名和验证 JWT token 的密钥,确保用户登录状态的安全性。
原理
- 用户登录后,服务器使用
APP_KEY签发 JWT token - 后续请求携带 token,服务器用同样的
APP_KEY验证身份 - 只有
APP_KEY一致,token 才能通过验证
重要性
- 必须固定:容器重建时
APP_KEY必须保持不变,否则所有用户需要重新登录 - 必须保密:泄露后攻击者可以伪造任意用户身份
- 必须足够复杂:建议至少 32 字符的随机字符串
联网检索能力
如需让 AI员工 在问答时具备联网检索能力(需要在AI员工的技能里面手动添加),可配置 WEB_SEARCH_API_KEY 环境变量,或按供应商分别设置 Tavily/Bing/SerpAPI 的 Key:
缓存配置
CACHE_DEFAULT_STORE 只能填写以下两个固定值之一,不要填写其他内容:
重要:在多进程模式(
CLUSTER_MODE> 1)或集群部署时,必须将CACHE_DEFAULT_STORE配置为redis,否则各进程间的状态无法同步,会导致数据不一致和功能异常。
内存缓存(默认)
Redis 缓存
端口配置
通过 APP_PORT 环境变量设置服务监听端口,默认值为 80。
配置示例
注意:在容器化部署时,修改端口后需同步更新
docker-compose.yml中的ports映射或 Kubernetes 的Service端口配置。
SSH 隧道
当目标数据库无法直接访问时,可以通过 SSH 隧道(跳板机)进行连接。配置以下环境变量即可启用 SSH 隧道功能:
配置说明
注意事项
- 密码和私钥认证方式二选一,推荐使用私钥认证更安全
- 私钥文件路径必须是容器内的绝对路径,需要通过 Docker Volume 挂载
- 开启
SSH_DEBUG=1后会在日志中输出详细的连接信息,便于排查问题
推荐配置方式
Docker/Compose
-
在部署目录创建
.env,写入上述变量: -
在
docker-compose.yml中引用:
使用 env_file 可以避免在 Compose 文件中暴露敏感信息,并方便不同环境复用同一份模板。
Kubernetes/云原生
-
将变量写入
Secret: -
在 Deployment 中挂载:
调整与排查
- 连接失败:确认
DB_HOST可达并允许DB_USER访问,必要时在容器内执行psql -h $DB_HOST测试。 - 多项目部署:为不同实例设置唯一的
PROJECT,便于日志、监控和文件目录隔离。 - 修改密码:更新数据库密码后务必同步更新对应 Secret/
.env并重新滚动发布。

