- compose: camofox service on by default (internal only, volume umt-camofox, healthcheck, CAMOFOX_REPLICAS=0 to skip); app depends on it with service_started/required=false and auto-registers camofox-env from BROWSER_PROVIDER_URL / BROWSER_ACCESS_KEY / BROWSER_ENABLED - docker/camofox/Dockerfile: builds upstream tag v1.17.0 (389c996); fixes the upstream Dockerfile (missing postinstall.js before npm ci, sh -c not forwarding SIGTERM so logins were never persisted on restart) - adapter fixes from the real container: coordinate click via evaluate + selector, focus typing with mode=keyboard, password values redacted from ARIA snapshots/extract, downloads field names, 410 after browser restart treated as lost tab; navigate reopens a tab in the same session - verified-capability table keyed by upstream version (1.17.0 all ten); other versions stay unverified; probe reports auth failures - settings: browser providers block (create/edit/delete/probe, capability table); API POST/PATCH/DELETE /browser/providers, POST .../probe - scripts/browser-verify: umtbr stack + mock NexusPHP run of REQ 4.7.4 items - docs: runbook browser §1/§7 (real-instance record), deploy §2.1 Co-Authored-By: Claude Opus 5.5 <[email protected]>
47 lines
2.0 KiB
Bash
47 lines
2.0 KiB
Bash
# docker compose 用的环境变量(复制为部署目录下的 .env)。
|
|
#
|
|
# SECRET_MASTER_KEY:凭证加密主密钥,生成一次后永不更换(换了之前存的站点/下载器/模型密钥全部无法解密)。
|
|
# 生成:openssl rand -hex 32
|
|
# 必须与数据库备份分开保管(密码管理器 / 离线介质);备份里不含它,丢了它备份里的密钥也无法恢复。
|
|
SECRET_MASTER_KEY=
|
|
# 数据库密码:openssl rand -hex 16
|
|
POSTGRES_PASSWORD=
|
|
|
|
# 对外端口与绑定地址(放在反代后面时可改成 127.0.0.1)
|
|
UMT_PORT=4380
|
|
UMT_BIND=0.0.0.0
|
|
|
|
# 容器运行用户:与宿主媒体目录属主一致,例如 id -u / id -g 的输出
|
|
PUID=10001
|
|
PGID=10001
|
|
|
|
# 备份保留份数(0 = 不轮转)
|
|
BACKUP_KEEP=14
|
|
LOG_LEVEL=info
|
|
# APP_VERSION=v0.1.0
|
|
# 国内网络构建换源(可选):APT_MIRROR=mirrors.ustc.edu.cn
|
|
|
|
# worker 并发(可选):io 组(下载提交/入库复制/缓存清理/资产对账/抓取)与 agent 组(Agent 会话)分池
|
|
# WORKER_CONCURRENCY=4
|
|
# WORKER_AGENT_CONCURRENCY=2
|
|
# 手动按路径整理时递归遍历的文件数上限(dryRun 超出返回 truncated,正式执行拒绝)
|
|
# ORGANIZE_WALK_MAX_FILES=5000
|
|
|
|
# ── 浏览器服务(camofox-browser,原站视图 / Agent 浏览器能力;docs/runbook/browser.md)──
|
|
# 缺省随 compose 起一个 camofox 容器(只在内网,不映射端口),app 自动登记为 camofox-env。
|
|
# 访问凭据:camofox 与 app 共用;建议设置(openssl rand -hex 24)
|
|
CAMOFOX_ACCESS_KEY=
|
|
# 接自有 camofox 实例:改成它的地址与凭据,并把 CAMOFOX_REPLICAS 设 0
|
|
# BROWSER_PROVIDER_URL=http://camofox:9377
|
|
# BROWSER_ACCESS_KEY=
|
|
# 完全不用浏览器:CAMOFOX_REPLICAS=0 且 BROWSER_ENABLED=false(界面标"浏览器不可用")
|
|
# CAMOFOX_REPLICAS=1
|
|
# BROWSER_ENABLED=true
|
|
# camofox 调优(可选):会话空闲回收(回收时落盘登录状态)、浏览器空闲退出、最多会话数、内存上限
|
|
# CAMOFOX_SESSION_TIMEOUT_MS=1800000
|
|
# CAMOFOX_BROWSER_IDLE_TIMEOUT_MS=300000
|
|
# CAMOFOX_MAX_SESSIONS=8
|
|
# CAMOFOX_MEM_LIMIT=2g
|
|
# CAMOFOX_LOCALE=zh-CN
|
|
# CAMOFOX_TIMEZONE=Asia/Shanghai
|