Repository navigation
Expand file tree
/
Copy path.env.docker.example
More file actions
84 lines (69 loc) · 4.37 KB
/
Copy path.env.docker.example
File metadata and controls
84 lines (69 loc) · 4.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# 拷成 .env 后填写(.env 已被 .gitignore,不会进仓库/镜像)。
# cp .env.docker.example .env
# ── Postgres(compose 内置,数据持久化在命名卷 qa_pgdata)──
POSTGRES_USER=qa
# 改成你自己的强密码,且只用 ASCII(字母/数字/-_.);别用中文或 @ : / 等会破坏连接串的字符
POSTGRES_PASSWORD=change_me_strong_pw
POSTGRES_DB=qa_platform
# ── 后端鉴权 ──
# 留空 = 不鉴权(适合内网)。若设置,前端会把它一并烘焙进去,
# 改完必须重新 build web:docker compose build web && docker compose up -d
SERVER_TOKEN=
# ── CORS ──
# 前端与后端同源(都走 web 容器),通常无需放开;保持 * 即可。
CORS_ORIGINS=*
# ── Platform 开放平台接入(后端代理用,必填,否则连不上被测 Agent)──
# 取自原 server/.env 的 PLATFORM_BASE_URL / PLATFORM_API_KEY。
PLATFORM_BASE_URL=
PLATFORM_API_KEY=
PLATFORM_NAMESPACE=/open/agent
PLATFORM_REQUEST_TIMEOUT=300
# ── Gateway / OpenAI 兼容网关接入(可选;接 Dex「dex」等被测 Agent)──
# 不填 = 平台里 Gateway/Dex 会显示「未配置 GATEWAY_BASE_URL / GATEWAY_API_KEY」。
# 取自原 server/.env 的 GATEWAY_*。BASE_URL 到网关根(不含 /v1/...);KEY 是网关的 Bearer。
GATEWAY_BASE_URL=
GATEWAY_API_KEY=
GATEWAY_MODEL=dex
GATEWAY_REQUEST_TIMEOUT=300
# ── 工具内容可见性(可选)──
# false(默认)= 非白名单工具 I/O 落库前剔除(脱敏)。true = 保留截断脱密后的工具 I/O 供裁判判
# 「内容对不对」,等于显式同意工具内容落库并流向(可能第三方的)裁判 LLM。内网/自有裁判才建议开。
CAPTURE_TOOL_IO=false
# ── SkillOpt 子进程超时(可选,秒)──
SKILLOPT_REQUEST_TIMEOUT=1800
# ── agent-defs 源仓库(可选,AI 员工源定义,供「技能源 /skills-repo」「技能对比」只读浏览)──
# 留空 → server 挂空目录 ./agent-defs,这两个只读页降级为空/提示,核心评测链不受影响。
# 要启用:先在服务器上 clone,再把绝对路径填这里(会以只读挂进 server 容器 /app/agent-defs):
# git clone <agent-defs 仓库> /opt/agent-defs 然后 SAGE_REPO_HOST_PATH=/opt/agent-defs
SAGE_REPO_HOST_PATH=
# ── 对外暴露端口(浏览器访问 http://<服务器IP>:<此端口>)──
# 注:当前部署模型已改为「后端 compose + 宿主机 nginx」(deploy.sh),前端 dist/ 由宿主机
# nginx 托管、server 只监听 127.0.0.1:18791。WEB_PORT 仅旧三容器模型用,新模型可忽略。
WEB_PORT=8080
# ════════════════════════════════════════════════════════════════════════
# 登录 / 鉴权系统(必读)
# 所有 /v1 接口都挂了 require_user —— 不登录什么都用不了。下面这些变量经 compose 的
# `env_file: .env` 注入 server 容器(别只写进 environment: 块,否则不会传进去)。
# ════════════════════════════════════════════════════════════════════════
# ── Google 登录(当前唯一的建号通道,生产必填)──
# 没有 /register 接口;任意 Google 账号首次登录即自动建号,之后可在个人信息里设密码再用邮箱+密码登录。
# 三项齐全才启用;redirect_uri 必须与 Google Cloud Console 里登记的「已授权重定向 URI」完全一致。
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=https://<你的域名>/v1/auth/google/callback
# ── 会话 Cookie ──
# 生产(HTTPS)必须 true,否则浏览器不带 cookie → 登录后立刻掉登录态。内网纯 HTTP 才置 false。
SESSION_COOKIE_SECURE=true
SESSION_TTL_DAYS=30
# ── 应用对外地址(拼「忘记密码」重置链接用)──
APP_BASE_URL=https://<你的域名>
# ── 忘记密码邮件(Gmail SMTP,可选;不填则「忘记密码」发不出邮件)──
GMAIL_SMTP_USER=
GMAIL_SMTP_APP_PASSWORD=
MAIL_FROM=
RESET_TOKEN_TTL_MINUTES=30
# ── 注册允许名单(可选,逗号分隔)──
# 注意:当前代码这两项「尚未接入任何路由」(Google 回调不查名单)→ 暂时是预留位,设了也不生效。
# 要真正限制谁能登录,需另改代码把 allowlist 接进 Google 回调。
AUTH_ALLOWED_EMAILS=
AUTH_ALLOWED_EMAIL_DOMAINS=