简介
什么是 Ignis ?
Ignis是一个开源的自托管 Web 应用,可以在浏览器中运行Obsidian笔记软件,无需远程桌面,提供接近原生的使用体验。它通过兼容Obsidian使用的Electron API,让Obsidian在标准浏览器中运行,同时将vault数据保存在服务器上。
主要特点
- 浏览器原生运行:不同于
VNC远程桌面方案,Ignis直接在浏览器中提供Obsidian的原生体验,支持所有核心编辑器功能 - 多 Vault 支持:可以创建、打开、切换、重命名和删除不同的
vault,每个vault可以在不同的浏览器标签页中打开 - 文件上传下载:支持从本地机器上传文件,以及下载单个文件或整个文件夹为
ZIP压缩包 - 实时同步:通过
WebSocket实现多个浏览器标签页之间的实时文件同步,编辑内容在一秒内传播 - 工作区管理:支持通过
'?workspace='URL参数在不同浏览器标签页中打开保存的工作区 - 服务器端同步:内置
Obsidian Headless插件,无需保持浏览器标签页打开即可进行持续同步 - 插件兼容:大多数基于
Obsidian插件API的社区插件都可以正常工作 - 开源免费:基于
GNU Affero General Public License v3.0协议开源,可免费使用和修改
应用场景
- 远程办公:在任何设备的浏览器中访问自己的
Obsidian笔记库,实现随时随地的笔记管理 - 多设备同步:通过
Obsidian Sync或内置的Headless同步功能,实现多个设备之间的笔记同步 - 团队协作:将
Obsidian作为团队知识库,多人可以同时访问和编辑共享的 vault - 开发者测试:开发人员可以快速搭建
Obsidian测试环境,用于插件开发和调试 - 移动设备访问:在手机或平板电脑的浏览器中访问
Obsidian,无需安装原生应用 - 自托管用户:对于注重数据隐私的用户,可以将笔记数据完全控制在自己的服务器上
Ignis是一个功能强大的自托管Obsidian Web平台,为用户提供了在浏览器中使用Obsidian的便捷方式。
准备
下载文件
在docker文件夹中,创建一个新文件夹ignis,并在其中建三个子文件夹app、data和vaults
| 挂载路径 | 描述 |
|---|---|
/vaults | Vault存储目录,每个子目录对应一个独立的Vault |
/data | 插件状态与同步状态数据 |
/app | Obsidian应用缓存资源(建议持久化以避免重复下载) |
用命令行也可以
# 新建文件夹 ignis 和 子目录mkdir-p/volume1/docker/ignis/{app,data,vaults}# 进入 ignis 目录cd/volume1/docker/ignis首次启动时,容器会从官方源码下载Obsidian,并安装Obsidian Headless CLI。这需要一两分钟。
如果容器第一次运行时无法访问GitHub,可以先从网页 https://github.com/obsidianmd/obsidian-releases/releases 下载obsidian_1.12.7_amd64.deb
然后上传放入到ignis目录中
需要比正常的安装多两行内容,以docker-compose.yml为例
volumes:-./obsidian_1.12.7_amd64.deb:/packages/obsidian.deb:roenvironment:-OBSIDIAN_PACKAGE=/packages/obsidian.deb其作用就是:将宿主机当前目录下的文件obsidian_1.12.7_amd64.deb只读挂载到容器内部的路径/packages/obsidian.deb,并告诉容器里的启动脚本,Obsidian安装包就在/packages/obsidian.deb,别去网上下载了,直接用这个
反向代理
Ignis必须使用https协议访问,否则页面上会显示红色的警告
HTTPS 要求:浏览器的加密和剪贴板
API需要安全上下文才能正常工作。在非localhost的HTTP环境下,图谱视图、大纲、剪贴板操作和同步功能会受到限制。建议使用TLS反向代理或tailscale serve来启用HTTPS。
假设实际访问地址为:https://ob.laosu.tech
| 域名 | 局域网地址 | 备注 |
|---|---|---|
ob.laosu.tech | http://192.168.0.197:8314 | Ignis的访问地址 |
在npm中的设置
SSL都勾选了
安装
在群晖上以 Docker 方式安装。
在注册表中搜索ignis,选择第二个nobbe/ignis,版本选择latest。
本文写作时,
latest版本对应为0.8.7;
docker cli 安装
如果你熟悉命令行,可能用docker cli更快捷
# 一键启动dockerrun-d\--name=ignis\--restart=unless-stopped\-p8314:8080\-v$(pwd)/vaults:/vaults\-v$(pwd)/data:/app/data\-v$(pwd)/app:/app/obsidian-app\-v$(pwd)/obsidian_1.12.7_amd64.deb:/packages/obsidian.deb:ro\-eOBSIDIAN_VERSION=1.12.7\-ePUID=1000\-ePGID=1000\-eOBSIDIAN_PACKAGE=/packages/obsidian.deb\nobbe/ignis:latestdocker-compose 安装
也可以用docker-compose安装,将下面的内容保存为docker-compose.yml文件
services:ignis:image:nobbe/ignis:latestcontainer_name:ignisrestart:unless-stoppedports:-"8314:8080"volumes:-./vaults:/vaults# vault 数据存储-./data:/app/data# 持久化配置-./app:/app/obsidian-app# Obsidian 缓存资源-./obsidian_1.12.7_amd64.deb:/packages/obsidian.deb:roenvironment:-OBSIDIAN_VERSION=1.12.7# 指定 Obsidian 版本-PUID=1000# 用户 ID-PGID=1000# 组 ID-OBSIDIAN_PACKAGE=/packages/obsidian.deb然后通过SSH登录到您的群晖,执行下面的命令:
# 将 docker-compose.yml 放入当前目录# 一键启动docker-composeup-d运行
在浏览器中访问https://ob.laosu.tech即可进入Web界面
重要提示:
Ignis没有内置身份验证,且默认提供HTTP服务。如果暴露到互联网,建议在前面添加身份验证层(如反向代理Basic Auth、SSO代理或VPN)。
首次使用需要创建或导入vault
开始使用Obsidian
写下了第一条笔记
注意事项
- 身份验证:
Ignis没有内置身份验证,如果暴露到公网,必须在前面添加身份验证层(如反向代理Basic Auth、Authelia、OAuth2 Proxy或VPN) - HTTPS 必需:浏览器的加密和剪贴板
API需要安全上下文,在非localhost的HTTP环境下功能受限,建议使用TLS反向代理 - 数据安全:
Vault数据以普通文件形式存储在/vaults目录,建议定期备份 - 版本更新:
Obsidian版本更新可能会影响兼容性,建议等待Ignis发布适配新版本后再更新 - 插件兼容:并非所有社区插件都支持,特别是需要
Node原生模块或child_process的插件 - 离线安装:如果容器无法访问外网,可以手动下载
Obsidian的.deb文件并挂载到容器中 - safeStorage:
safeStorage功能目前为直通设计,通过此功能存储的数据会以明文形式保存在磁盘上
参考文档
Nystik-gh/ignis: Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app.
地址:https://github.com/Nystik-gh/ignis
nobbe/ignis - Docker Hub
地址:https://hub.docker.com/r/nobbe/ignis
Ignis - Self-hosted Obsidian Web App
地址:https://ignis-demo.thiefling.com