ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

告别VNC!用Docker把Obsidian搬进浏览器,插件照跑还配TaoToken

告别VNC!用Docker把Obsidian搬进浏览器,插件照跑还配TaoToken 1. 为什么我要把 Obsidian 塞进浏览器如果你和我一样Obsidian 里攒了几百上千篇笔记本地用着确实舒服但一换设备就难受公司电脑装客户端、平板装客户端、手机再装一个同步还得单独折腾。之前我也试过 VNC 那套方案原理就是隔着浏览器操作远程桌面延迟肉眼可见插件兼容性也一般输入法还经常打架。后来我换了个思路Obsidian 桌面版本质上是 Electron 应用只要把 Electron 依赖的那层 API 补齐让它直接跑在浏览器里就不用再套远程桌面了。Ignis 这个项目做的就是这件事它支持 Docker 部署主题能换大多数社区插件也能正常加载。这篇就按我实际部署的过程把 Docker Compose 配置、TaoToken 统一 Key 接入 settings.json 的骨架、以及浏览器访问和插件加载的验证动作完整写一遍适合有 NAS 或一台常开 Linux 主机、又想在多设备上网页直开知识库的人。需要提前说清楚的是Ignis 目前没有内置登录默认走 HTTP所以别把端口直接映射到公网任何能访问该地址的人都能读写你的整个知识库。这一点后面排障部分还会再强调。2. 部署前先把 TaoToken 的 Key 准备好Ignis 本身只负责把 Obsidian 跑起来它不解决 AI 能力。我这次想让知识库能接 AI 做整理和汇总所以顺手把模型调用统一走 TaoToken这样后面不管换哪个模型都只改一个 Key 和 base_url不用每个插件单独配一遍。TaoToken 的定位就是统一模型入口你可以在官网看整体说明实际接入用的是 API 地址。操作路径很简单进控制台创建 API Key然后到接入文档确认一下 base_url 和模型名的写法。我实测下来Key 创建后复制出来是一串 sk- 开头的字符串先存到密码管理器里后面写进 settings.json 时直接引用。这里给一个我用的骨架注意 Obsidian 的 settings.json 是 JSON 格式不能写注释下面为了说明用引用块标注实际写入时把注释行删掉{ taotoken: { baseUrl: https://taotoken.net/api, apiKey: sk-你的Key, model: claude-sonnet-4-5 } }注意settings.json 里不要留任何 // 或 /* */ 注释JSON 解析会直接报错插件加载会静默失败排查起来很费时间。如果你只是想让浏览器版 Obsidian 先跑起来、暂时不接 AI这一步可以跳过直接进下一节部署。但如果你打算长期用 AI 整理笔记建议先把 Key 和 base_url 定下来后面插件配置会省很多事。3. 可复制的 Docker Compose 配置Ignis 官方提供了 compose 文件我在它基础上补了目录说明和权限参数。先在你的主机上建好目录我习惯放在 /opt/ignis 下mkdir -p /opt/ignis/vaults /opt/ignis/data cd /opt/ignis idid这条命令很关键它会输出当前用户的 uid 和 gid比如uid1000(admin) gid1000(admin)把这两个数字填到下面的 PUID 和 PGID 里。填错的话后面会出现无法创建或修改文件的问题而且报错不一定明显。然后写 docker-compose.ymlservices: ignis: image: nobbe/ignis:latest ports: - 8080:8080 environment: - PUID1000 - PGID1000 volumes: - ./vaults:/vaults - ./data:/app/data - obsidian-app:/app/obsidian-app restart: unless-stopped volumes: obsidian-app:三个挂载点各自的作用我列一下方便你对照挂载路径容器内路径作用./vaults/vaults存放笔记仓库你的知识库本体./data/app/data插件和插件数据手动装的插件放这里obsidian-app/app/obsidian-appObsidian 应用缓存用命名卷管理启动命令就一行docker compose up -d第一次启动时Ignis 会从官方来源下载 Obsidian等一两分钟属于正常情况。你可以用docker compose logs -f看进度看到监听 8080 的日志就说明起来了。如果卡在下载阶段超过五分钟先检查主机出网是否正常再考虑换镜像源不要急着反复重启容器。4. 浏览器访问与插件加载验证容器起来后在浏览器输入http://你的主机地址:8080。首次进入会打开仓库管理器你可以创建新仓库也可以直接读取 /vaults 里已有的仓库。我建议先用已有的库试这样能直接验证插件兼容性。进去之后先做三件事验证第一看界面语言。设置里切到简体中文确认核心编辑、主题切换都正常。第一眼它和桌面版 Obsidian 已经非常接近。第二装一个社区插件。进设置里的第三方插件关闭安全模式浏览并安装一个纯前端的插件比如日历或看板类。装完启用看侧边栏是否正常出现。大多数社区插件能跑但依赖 Node 原生模块、外部程序或底层网络能力的插件目前无法正常运行这是浏览器环境的边界不是配置问题。第三验证文件读写。在浏览器里新建一篇笔记然后到主机上看ls -la /opt/ignis/vaults/你的仓库名/能看到刚建的 .md 文件说明挂载和权限都对。反过来往 /vaults 里复制一个 md 文件刷新浏览器也能看到说明双向同步没问题。如果你接了 TaoToken这时候可以在插件里填 base_url 和 Key发一条测试请求。返回正常就说明整条链路通了。想先单独验证模型是否可用可以直接用模型对话页面发一条消息确认 Key 和模型名没问题再回到 Obsidian 里配插件这样能把问题范围缩小。5. 本篇常见错排查容器起来了但浏览器打不开。先确认端口映射没被占用ss -tlnp | grep 8080。如果主机有防火墙放行 8080。注意别把 8080 直接映射到公网Ignis 没有内置登录默认 HTTP任何人都能读写你的库。远程访问建议走内网或自己加一层带认证的反向代理。笔记能读不能写或者新建文件报错。九成是 PUID/PGID 不对。回到第 3 节重新跑id把 uid/gid 填对然后docker compose down docker compose up -d重建。重建不会丢数据因为数据都在挂载目录里。插件装了不显示或启用后报错。先看它是不是依赖 Node 原生模块或外部程序这类在浏览器环境跑不了。纯前端插件如果也不显示检查 /app/data 的权限插件数据写不进去会静默失败。可以进容器看一眼docker compose exec ignis ls -la /app/data。settings.json 改了没生效。确认 JSON 格式合法没有多余逗号没有注释。改完重启容器再试。如果还是不行把 Key 和 base_url 单独拿出来用模型对话页面先验证一遍排除是 Key 本身的问题。第一次启动特别慢。下载 Obsidian 受网络影响耐心等。如果日志里反复重试检查主机 DNS 和出网不要频繁重启重启会重新走下载流程。6. 后续怎么把这套用顺部署只是第一步。我现在的用法是浏览器负责写AI 负责整理主机负责保存。平时在外面用平板或公司电脑打开浏览器就能进自己的库插件照跑不用再装客户端。如果你打算长期用 AI 整理笔记建议把 Key 和 base_url 统一走 TaoToken这样换模型只改一处。接入相关的细节可以看接入文档Key 在 API Keys 页面管理长期做编码或 Agent 类任务的话Coding Plan 会更合适。先把浏览器版跑通再逐步把 AI 接进来比一上来全配齐要稳得多。
返回列表