Files
2026-09-19 16:35:35 +08:00

3.3 KiB
Raw Permalink Blame History

环境变量说明 / Environment Variables

所有敏感信息集中在 deploy/docker/.envcp .env.example .env 后按需修改)。start.sh/stop.sh 通过 --env-file 自动加载。

注意:.env 务必使用 UTF-8 编码保存(推荐无 BOM),值中不要包含中文全角引号或首尾空格。

变量优先级(应用 DSN/MQ 连接)

start.sh 启用 bytedesk 应用时会按所选 db/mq 关键字自动注入连接参数并写入 .env.app(自动生成,勿手工编辑):

shell 环境变量 > .env 显式配置 > .env.app(脚本注入) > compose 文件内置默认值(mysql/artemis

如需完全接管应用连接(例如指向外部数据库),在 .env 中显式配置:

SPRING_DATASOURCE_URL=jdbc:mysql://external-db:3306/bytedesk?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
SPRING_DATASOURCE_USERNAME=bytedesk
SPRING_DATASOURCE_PASSWORD=your-password
# BYTEDESK_MQ_TYPE=artemis|rabbitmq
# SPRING_ARTEMIS_BROKER_URL=tcp://bytedesk-artemis:61616
# SPRING_RABBITMQ_HOST=bytedesk-rabbitmq

敏感变量清单(至少修改这些)

  • 数据库MYSQL_ROOT_PASSWORDPOSTGRES_PASSWORDORACLE_PASSWORDORACLE_APP_USER_PASSWORDKINGBASE_DB_PASSWORDKINGBASE_SYSTEM_PWD
  • 中间件REDIS_PASSWORDELASTIC_PASSWORDMINIO_ROOT_PASSWORDKIBANA_SERVICE_ACCOUNT_TOKEN
  • 消息队列ARTEMIS_PASSWORDRABBITMQ_DEFAULT_PASS
  • 应用安全BYTEDESK_ADMIN_PASSWORDBYTEDESK_ADMIN_VALIDATE_CODEBYTEDESK_MEMBER_PASSWORDBYTEDESK_JWT_SECRET_KEYBYTEDESK_LICENSE_KEY
  • 呼叫中心COTURN_PASSFREESWITCH_ESL_PASSWORDFREESWITCH_DOMAINFREESWITCH_EXTERNAL_SIP_IPFREESWITCH_EXTERNAL_RTP_IP
  • 可选 API KeySPRING_AI_*_API_KEYBYTEDESK_TRANSLATE_BAIDU_*

AI 开关(承接旧 noai 场景)

应用默认不启用任何 AISPRING_AI_MODEL_CHAT=none),等价于旧版 noai 场景。启用方法:在 .env 配置对应 API Key,并按需添加:

# 示例:启用智谱对话 + 向量
SPRING_AI_ZHIPUAI_API_KEY=your-key
SPRING_AI_MODEL_CHAT=zhipuai
SPRING_AI_MODEL_EMBEDDING=zhipuai
# 示例:启用 DashScope 语音
SPRING_AI_DASHSCOPE_API_KEY=your-key
SPRING_AI_MODEL_AUDIO_SPEECH=dashscope
SPRING_AI_MODEL_AUDIO_TRANSCRIPTION=dashscope

完整模型选择项见 compose/compose-bytedesk.yaml 的 AI provider 段落注释。

对外访问地址

# 将 127.0.0.1 替换为服务器 IP 或域名(影响上传/头像/帮助中心等链接)
BYTEDESK_UPLOAD_URL=http://127.0.0.1:9003
BYTEDESK_FEATURES_AVATAR_BASE_URL=http://127.0.0.1:9003
BYTEDESK_KBASE_API_URL=http://127.0.0.1:9003
BYTEDESK_KBASE_HELPCENTER_API_URL=http://127.0.0.1:9003
BYTEDESK_KBASE_BLOG_API_URL=http://127.0.0.1:9003

密钥与 Jasypt(可选)

部分 compose 配置值可写为 ENC(...)。仅在实际使用加密值时才需要把 Jasypt 口令传给容器:

# 1. 写入 .env(保留在本地,切勿提交)
echo 'JASYPT_ENCRYPTOR_PASSWORD=please-change-me' >> .env
# 2. 正常启动,服务自动读取
./start.sh
  • 不使用加密值时留空或删除该行,启动回退明文
  • 可通过 BYTEDESK_SECURITY_JASYPT_ALGORITHM 等变量覆盖算法/迭代次数