refactor: 环境变量统一为 .env.app 单文件 + 清理死配置

- 新增 .env.app.example 统一模板(两套 compose 共用,数据库按模式分节注释),删除 .env.self-hosted.example / .env.production.example
- 部署指南与 README 的 --env-file 引用统一为 .env.app;.gitignore / .dockerignore 白名单同步调整
- runtime-env.ts 移除零消费的 MCP_API_KEY / COLLECTION_MCP_URL / COLLECTION_MCP_KEY 遗留声明
- .dockerignore 补充 .dev.vars 排除;mcp-task-server 测试改读新模板
This commit is contained in:
ABAPPLO
2026-08-27 11:42:02 +08:00
parent cb010b6c5b
commit db5c7522f7
9 changed files with 72 additions and 108 deletions

58
.env.app.example Normal file
View File

@@ -0,0 +1,58 @@
# 复制为 .env.app 后填写,两套 compose 编排共用这一份文件(--env-file .env.app)。
# 不要把真实密钥提交到 Git。
# ── 数据库(按部署模式二选一)──────────────────────────────
# 模式 A:公共 MySQL(docker-compose.production.yml,仅 app + nginx)
# 要求 MySQL 8 + utf8mb4,账号需对目标库有建表与读写权限。
MYSQL_HOST=replace-with-shared-mysql-host
MYSQL_PORT=3306
# 模式 B:自带 MySQL 容器(docker-compose.self-hosted.yml,全套)
# 只需填 root 密码;MYSQL_HOST 由 compose 固定为容器内的 mysql,这里无需填写。
MYSQL_ROOT_PASSWORD=replace-with-strong-root-password
# 两种模式共用的库与账号。
MYSQL_DATABASE=koc_loop
MYSQL_USER=koc
MYSQL_PASSWORD=replace-with-strong-app-password
# ── 对外地址 ──────────────────────────────────────────────
APP_ORIGIN=https://koc.example.com
KOC_PORTAL_URL=https://koc.example.com/koc/
# ── 后台账号(仅首次启动创建超管时使用)───────────────────
# 创建成功后建议移除明文密码并重启;后续账号在「用户管理」维护。
SUPER_ADMIN_USERNAME=admin
SUPER_ADMIN_PASSWORD=replace-with-strong-admin-password
ADMIN_INTERNAL_TOKEN=replace-with-random-internal-token
# KOC LOOP 自身 MCP 的访问密钥。
KOC_MCP_API_KEY=replace-with-random-mcp-key
# ── 飞书内容表读取 ────────────────────────────────────────
FEISHU_APP_ID=
FEISHU_APP_SECRET=
# ── 小红书公开数据采集 MCP ────────────────────────────────
AI_TOOL_CENTER_MCP_URL=
AI_TOOL_CENTER_MCP_KEY=
# 账号 LLM 自动打标(可选):AI_TOOL_CENTER 的 structured_text_process 工具,留空 = 关闭自动打标。
AI_TAGGING_TOOL=
# ── 企业微信通知(临期催办 + 管理员汇总,全部选填)─────────
# 只收群汇总:仅填 WECOM_ROBOT_WEBHOOK。
# KOC 侧催办/客户群群发:CORP_ID + AGENT_ID + SECRET 三件套同时填,
# 并在后台 partners 编辑里把 wecom_external_user_id 填好。
WECOM_ROBOT_WEBHOOK=
WECOM_CORP_ID=
WECOM_AGENT_ID=
WECOM_SECRET=
WECOM_NOTIFY_DUE_DAYS=3
WECOM_NOTIFY_ENABLED=true
# ── 调度与入口 ────────────────────────────────────────────
# 每天北京时间 09:00 自动执行采集计划,生产保持 true。
ENABLE_SCHEDULER=true
SEED_DEMO_DATA=false
HTTP_PORT=80