Files
crmdesk/deploy/docker/readme/readme.env.md
T
2026-09-19 16:35:35 +08:00

76 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 环境变量说明 / Environment Variables
所有敏感信息集中在 `deploy/docker/.env``cp .env.example .env` 后按需修改)。`start.sh`/`stop.sh` 通过 `--env-file` 自动加载。
> 注意:.env 务必使用 UTF-8 编码保存(推荐无 BOM),值中不要包含中文全角引号或首尾空格。
## 变量优先级(应用 DSN/MQ 连接)
`start.sh` 启用 bytedesk 应用时会按所选 db/mq 关键字自动注入连接参数并写入 `.env.app`(自动生成,勿手工编辑):
```text
shell 环境变量 > .env 显式配置 > .env.app(脚本注入) > compose 文件内置默认值(mysql/artemis
```
如需完全接管应用连接(例如指向外部数据库),在 `.env` 中显式配置:
```bash
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_PASSWORD``POSTGRES_PASSWORD``ORACLE_PASSWORD``ORACLE_APP_USER_PASSWORD``KINGBASE_DB_PASSWORD``KINGBASE_SYSTEM_PWD`
- **中间件**`REDIS_PASSWORD``ELASTIC_PASSWORD``MINIO_ROOT_PASSWORD``KIBANA_SERVICE_ACCOUNT_TOKEN`
- **消息队列**`ARTEMIS_PASSWORD``RABBITMQ_DEFAULT_PASS`
- **应用安全**`BYTEDESK_ADMIN_PASSWORD``BYTEDESK_ADMIN_VALIDATE_CODE``BYTEDESK_MEMBER_PASSWORD``BYTEDESK_JWT_SECRET_KEY``BYTEDESK_LICENSE_KEY`
- **呼叫中心**`COTURN_PASS``FREESWITCH_ESL_PASSWORD``FREESWITCH_DOMAIN``FREESWITCH_EXTERNAL_SIP_IP``FREESWITCH_EXTERNAL_RTP_IP`
- **可选 API Key**`SPRING_AI_*_API_KEY``BYTEDESK_TRANSLATE_BAIDU_*`
## AI 开关(承接旧 noai 场景)
应用默认不启用任何 AI`SPRING_AI_MODEL_CHAT=none`),等价于旧版 `noai` 场景。启用方法:在 `.env` 配置对应 API Key,并按需添加:
```bash
# 示例:启用智谱对话 + 向量
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 段落注释。
## 对外访问地址
```bash
# 将 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 口令传给容器:
```bash
# 1. 写入 .env(保留在本地,切勿提交)
echo 'JASYPT_ENCRYPTOR_PASSWORD=please-change-me' >> .env
# 2. 正常启动,服务自动读取
./start.sh
```
- 不使用加密值时留空或删除该行,启动回退明文
- 可通过 `BYTEDESK_SECURITY_JASYPT_ALGORITHM` 等变量覆盖算法/迭代次数