简介什么是 Ignis Ignis是一个开源的自托管 Web 应用可以在浏览器中运行Obsidian笔记软件无需远程桌面提供接近原生的使用体验。它通过兼容Obsidian使用的Electron API让Obsidian在标准浏览器中运行同时将vault数据保存在服务器上。主要特点浏览器原生运行不同于VNC远程桌面方案Ignis直接在浏览器中提供Obsidian的原生体验支持所有核心编辑器功能多 Vault 支持可以创建、打开、切换、重命名和删除不同的vault每个vault可以在不同的浏览器标签页中打开文件上传下载支持从本地机器上传文件以及下载单个文件或整个文件夹为ZIP压缩包实时同步通过WebSocket实现多个浏览器标签页之间的实时文件同步编辑内容在一秒内传播工作区管理支持通过?workspaceURL参数在不同浏览器标签页中打开保存的工作区服务器端同步内置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挂载路径描述/vaultsVault存储目录每个子目录对应一个独立的Vault/data插件状态与同步状态数据/appObsidian应用缓存资源建议持久化以避免重复下载用命令行也可以# 新建文件夹 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.techhttp://192.168.0.197:8314Ignis的访问地址在npm中的设置SSL都勾选了安装在群晖上以 Docker 方式安装。在注册表中搜索ignis选择第二个nobbe/ignis版本选择latest。本文写作时latest版本对应为0.8.7docker cli 安装如果你熟悉命令行可能用docker cli更快捷# 一键启动dockerrun-d\--nameignis\--restartunless-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_VERSION1.12.7\-ePUID1000\-ePGID1000\-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:8080volumes:-./vaults:/vaults# vault 数据存储-./data:/app/data# 持久化配置-./app:/app/obsidian-app# Obsidian 缓存资源-./obsidian_1.12.7_amd64.deb:/packages/obsidian.deb:roenvironment:-OBSIDIAN_VERSION1.12.7# 指定 Obsidian 版本-PUID1000# 用户 ID-PGID1000# 组 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或VPNHTTPS 必需浏览器的加密和剪贴板API需要安全上下文在非localhost的HTTP环境下功能受限建议使用TLS反向代理数据安全Vault数据以普通文件形式存储在/vaults目录建议定期备份版本更新Obsidian版本更新可能会影响兼容性建议等待Ignis发布适配新版本后再更新插件兼容并非所有社区插件都支持特别是需要Node原生模块或child_process的插件离线安装如果容器无法访问外网可以手动下载Obsidian的.deb文件并挂载到容器中safeStoragesafeStorage功能目前为直通设计通过此功能存储的数据会以明文形式保存在磁盘上参考文档Nystik-gh/ignis: Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app.地址https://github.com/Nystik-gh/ignisnobbe/ignis - Docker Hub地址https://hub.docker.com/r/nobbe/ignisIgnis - Self-hosted Obsidian Web App地址https://ignis-demo.thiefling.com