Obsidian 部署经验(用户自己的浏览器)
用户明确拒绝「看 bot 桌面」(卡)。交付面必须是 用户本机浏览器可打开的 URL。
Vault
- 路径:
/home/box/ObsidianVault(全 agent 共享文件系统) - 网页工程:
/home/box/obsidian-web/(site/、worker.js、manifest.json、assets.json) - 预览域名:https://obsidian.zzzzzzj.science/
- Worker 名:
daily-obsidian-vault(已绑自定义域名)
本机 GUI / AppImage
- Fuse 问题:用
--appimage-extract解包,再以--no-sandbox跑 - 仅适合在 box 桌面调试;不要当作给用户看的主入口
远程桌面方案(失败教训)
obsidian-remote(Docker rootless)本机:8080可用- 公网隧道失败:
- cloudflared quick tunnel:出网拦 QUIC/HTTP2 7844
- localtunnel → 502
- bore 等同类方案也不稳
- 结论:共享箱出网对临时隧道不友好,别再死磕 quick tunnel
成功路径:静态 HTML + Cloudflare Worker
- 把 vault 里
.md(忽略.obsidian/)转成可读 HTML,目录结构映射到obsidian-web/site/(如共享/基础设施/Hermes.html) worker.js用FILESmap 内嵌 HTML(与现有模式一致)- 部署到已有 Worker
daily-obsidian-vault(保留自定义域名) - 校验:
curl -sI https://obsidian.zzzzzzj.science/→ 200
踩坑
*.workers.dev子域曾返回 500;走账户下 自定义域名 后curl得 200- Cloudflare Pages:OAuth 上传 JWT 曾 403
- R2:账户未开通(错误 10042),勿假设可用
- 本机
npx wrangler若无CLOUDFLARE_API_TOKEN会失败;可用 Cloudflare MCPexecute走PUT /accounts/.../workers/scripts/daily-obsidian-vault上传模块 - Worker 体积:FILES 全内嵌时注意脚本大小上限;过大则优先 index +
共享/*,YouTube 大期数可只列标题链接或 stub
Docker rootless(obsidian-remote 时期)
- 二进制:
/home/box/bin - Socket:
unix:///home/box/.docker/run/docker.sock - 系统
apt曾坏:改用静态 docker + uidmap deb 安装
刷新预览清单
1. 更新 /home/box/ObsidianVault 下 Markdown
2. 重建 site/*.html(保留相对路径)
3. 重写 worker.js 的 FILES
4. 部署 Worker daily-obsidian-vault
5. curl 首页与一两篇笔记路径确认 200
相关约定见 ../运维约定。