Obsidian 用户有一个共同的痛点:笔记都在本地,换个设备就得装客户端、配同步。官方 Sync 要 $5/月,VNC 远程桌面又卡又难用。有没有办法把 Obsidian 像网页应用一样部署在 NAS 上,随时用浏览器打开?
答案来了——Ignis。GitHub 上 600+ 星的新项目,它不是远程桌面,而是把 Obsidian 原生核心搬进了浏览器。Docker 一行命令部署,数据全在自己手里。

Ignis 是什么?
Ignis 是一个兼容性垫片(compatibility shim),它把 Obsidian 依赖的 Electron API 替换成了浏览器原生 API。结果就是:Obsidian 不再需要一个桌面窗口,而是在浏览器里以接近原生的体验运行。
和传统 VNC 方案的本质区别:
| 方案 | 原理 | 体验 |
|---|---|---|
| VNC/RDP 远程桌面 | 传输整个桌面画面(视频流) | 卡顿、延迟高、吃带宽 |
| Ignis | 浏览器里直接加载 Obsidian JS 核心 | 流畅、低延迟、只传数据 |
Ignis 的 Docker 容器在首次启动时会从 Obsidian 官方源下载 Obsidian 桌面版,然后用自己的兼容层把它”翻译”成浏览器能跑的 Web 应用。你的 vault 文件直接存在服务器上,和其他客户端的本地 vault 是同一份数据。
项目信息:
- GitHub: Nystik-gh/ignis,601 Star,30 Fork
- 许可证: AGPL-3.0
- 最新版: v0.8.7 “Karm”(2026-06-19),对应 Obsidian 1.12.7
- 语言: JavaScript (87.8%) + Svelte (8.8%)
- Docker 镜像: nobbe/ignis:latest

为什么值得折腾?
1. 真正的浏览器原生体验,不是远程桌面
Ignis 不传输画面,不做视频流。你在浏览器里用的是经过适配的 Obsidian 核心 JS 代码,操作响应速度和本地客户端几乎一致。不需要 RDP、TeamViewer 或者 KasmVNC 那套东西。
2. 数据 100% 在你手里
vault 文件直接存储在服务器的文件系统上,和 Obsidian 客户端的本地 vault 完全兼容。你可以在 NAS 上用 Ignis 编辑,回到电脑上用 Obsidian 桌面版继续——操作的是同一份 .md 文件。
3. 绝大多数社区插件能用
基于 Obsidian 插件 API 的社区插件大多可以直接使用。Dataview、Templater、Calendar 这些热门插件在 Ignis 里都能跑。不过依赖 Node 原生模块(如 child_process)的插件不行,因为浏览器里没有 Node 运行时。
4. 多 Vault + 多标签 + 实时同步
Ignis 在 Obsidian 原版基础上还加了几个实用功能:
- 多 vault 管理(创建、切换、重命名、删除)
- 同一 vault 可在多个浏览器标签打开,WebSocket 实时同步(1 秒内)
- 文件拖拽上传、右键下载
- 服务器端同步(通过 Obsidian Headless 插件,无需浏览器标签页保持打开)
Docker 部署指南
Ignis 支持 Docker Compose 一键部署,官方镜像已发布到 Docker Hub。
基础 docker-compose.yml:
services:
ignis:
image: nobbe/ignis:latest
ports:
- "8080:8080"
environment:
- OBSIDIAN_VERSION=1.12.7
- PUID=1000
- PGID=1000
volumes:
- ./vaults:/vaults # vault 存储目录
- ./data:/app/data # Ignis 配置和插件数据
- obsidian-app:/app/obsidian-app # Obsidian 缓存
restart: unless-stopped
volumes:
obsidian-app:
执行 docker compose up -d,首次启动容器会自动下载 Obsidian 1.12.7,需要等一两分钟。
迁移已有 vault:直接把现有的 Obsidian vault 目录放到 /vaults 下就行。每个子目录就是一个独立的 vault,Ignis 会自动识别。
有几个坑要注意
⚠️ 必须用 HTTPS
这是 Ignis 最大的坑——在非 localhost 的纯 HTTP 下,浏览器的 crypto 和 clipboard API 会被禁用,导致:
- 图谱视图(Graph View)无法使用
- 大纲(Outline)失效
- Obsidian Sync 无法连接
- 某些剪贴板操作不正常
三个解决方案:
- 反向代理加 TLS(推荐):用 Caddy/Nginx/Traefik 套一层 HTTPS
- Tailscale Serve:自动提供 HTTPS,无需证书管理
- 浏览器标记为安全源:Chrome 中访问 chrome://flags 手动添加你的 Ignis 地址(每台设备都要配)
⚠️ 没有内置认证
Ignis 没有内置认证功能。如果你暴露到公网,务必在反向代理层加认证:Nginx Basic Auth、Authelia/Authentik SSO、或者 Tailscale/WireGuard VPN。不要裸跑 Ignis——任何人拿到 URL 就能读写你的 vault。
⚠️ safeStorage 加密不可用
isEncryptionAvailable() 返回 false,依赖 safeStorage 的插件会以明文存储数据。服务器端加密方案计划中但尚未实现。
⚠️ 单人项目
Ignis 由 Nystik-gh 一个人独立开发维护。虽然代码质量不错(192 次提交、结构清晰),但 Bus Factor 摆在那。

实际体验
好的方面:
- 启动速度很快,比 VNC 方案流畅得多。编辑 Markdown 几乎没有可感知的延迟
- 主题和 CSS 片段完美继承桌面端的配置
- 多标签功能很实用——可以在不同标签打开不同 vault
- Dataview 查询、Templater 模板都能正常工作
不够好的方面:
- 没有 HTTPS 时会有黄色警告条,虽然不影响核心编辑但有点碍眼
- 同步文件选择对话框有临时兼容问题:Importer 插件在文件选择时会要求选两次
- 插件兼容性在持续完善中,Node 原生模块插件不行
飞牛论坛用户实测经验:
飞牛社区有用户分享了完整的本地编译和固化流程。如果 Docker Hub 拉镜像太慢,可以下载源码本地编译,完成后 docker commit 固化为本地镜像(约 330MB)。编译时注意用国内镜像源(docker.m.daocloud.io)拉取 node:22-slim 基础镜像;容器内部监听端口是 8080 不是 3000,映射时别搞错。
和官方 Obsidian Sync 怎么选?
| Obsidian Sync | Ignis 自托管 | |
|---|---|---|
| 费用 | $5/月 | 免费(自己的服务器) |
| 访问方式 | 客户端 + 移动端 App | 任何浏览器 |
| 数据控制 | 端到端加密,存 Obsidian 服务器 | 数据完全在你自己手里 |
| 插件支持 | 全部 | 大部分(Node 原生模块的除外) |
| 稳定性 | 官方维护 | 单人开源项目 |
| 多 Vault | 支持 | 支持(且可同时打开多个标签) |
Ignis 不是替代 Obsidian Sync,而是给浏览器访问多了一种选择。如果你对隐私极度敏感、想把数据完全放在自己手里,或者已经有 NAS/服务器在跑 7×24,Ignis 是个很棒的补充方案。
总结
Ignis 解决了 Obsidian 用户的一个真实痛点:不装客户端、不靠远程桌面、在任何浏览器里打开自己的知识库。601 个 star 说明需求确实存在,技术方案也够聪明——用 Electron API 兼容层而不是 VNC 视频流。
适合什么人?
- 有 NAS 或 VPS、习惯自托管的技术用户
- 想在公司电脑(不能装软件)上访问个人 Obsidian 的用户
- 对 Obsidian Sync 收费或数据隐私有顾虑的人
不适合什么人?
- 不熟悉 Docker/反向代理的新手
- 重度依赖 Node 原生模块插件的用户
- 需要移动端体验的(Ignis 目前只是 Web 版,移动端 UI 在窄屏下会自动切换但体验不如官方 App)
当前 v0.8.7 已经可用,虽然离”完美”还有距离,但作为 Obsidian 多端访问的补充方案,值得一试。如果你已经在跑 Docker,花 5 分钟搭一个,不亏。
GitHub: github.com/Nystik-gh/ignis
Demo: ignis-demo.thiefling.com
飞牛论坛实测: club.fnnas.com/forum.php?mod=viewthread&tid=66308