当前位置: 首页 > news >正文

浏览器运行Obsidian自托管平台Ignis

简介

什么是 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,并在其中建三个子文件夹appdatavaults

挂载路径描述
/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需要安全上下文才能正常工作。在非localhostHTTP环境下,图谱视图、大纲、剪贴板操作和同步功能会受到限制。建议使用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.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:latest

docker-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 AuthSSO代理或VPN)。

首次使用需要创建或导入vault

开始使用Obsidian

写下了第一条笔记

注意事项

  1. 身份验证Ignis没有内置身份验证,如果暴露到公网,必须在前面添加身份验证层(如反向代理Basic AuthAutheliaOAuth2 ProxyVPN
  2. HTTPS 必需:浏览器的加密和剪贴板API需要安全上下文,在非localhostHTTP环境下功能受限,建议使用TLS反向代理
  3. 数据安全Vault数据以普通文件形式存储在/vaults目录,建议定期备份
  4. 版本更新Obsidian版本更新可能会影响兼容性,建议等待Ignis发布适配新版本后再更新
  5. 插件兼容:并非所有社区插件都支持,特别是需要Node原生模块或child_process的插件
  6. 离线安装:如果容器无法访问外网,可以手动下载Obsidian.deb文件并挂载到容器中
  7. safeStoragesafeStorage功能目前为直通设计,通过此功能存储的数据会以明文形式保存在磁盘上

参考文档

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

http://www.jsqmd.com/news/1103086/

相关文章:

  • 计算机毕业设计之废旧塑料交易系统的设计与实现
  • Awesome .NET:21000 Star 的 .NET 生态资源清单
  • 哔咔漫画下载器完整指南:三步打造个人离线漫画图书馆的简单方法
  • 非机动车头盔检测 二轮非机动车与头盔穿戴佩戴 目标检测数据集 (yolo格式数据集+voc数据集+coco数据集)
  • 【企业级AI选型生死线】:当你的客户要求“等保三级+数据不出境+审计留痕”,ChatGPT与文心一言仅1家能闭环交付(含工信部备案编号验证路径)
  • 抖音批量下载工具:双版本架构下的高效内容采集解决方案
  • 3分钟免费安装:Windows鼠标指针蔚蓝档案主题终极指南
  • Python语言写入文件操作时报错TextIOWrapper.write() takes exactly one argument
  • test01
  • ImDisk虚拟磁盘驱动器:Windows系统虚拟磁盘管理的终极指南
  • Minecraft 1.21终极中文汉化指南:轻松解锁Masa模组全家桶完整功能
  • XInputTest:你的游戏手柄性能诊断专家,3分钟找出延迟真相
  • Virtualbox+Ubuntu26.04虚拟机安装教程
  • 小说下载终极指南:如何用novel-downloader永久保存你的数字图书馆
  • Gitee DevSecOps 军工软件工厂实践:以智能版本管理破解跨院所协同难题
  • Xshell连接Ubuntu虚拟机实战指南
  • 抖音批量下载工具深度解析:从单视频到用户主页的完整解决方案
  • 趋盛产品开发应用实战篇(四)
  • 从零开始:AKShare让你的Python金融数据分析变得如此简单
  • 增强型与耗尽型MOSFET核心区别:器件机理、偏置逻辑与工程选型详解
  • 泰安 EM3 三维植被网供应商揭秘!他们究竟有何独特之处?
  • Markdown Viewer:浏览器内实时渲染引擎带来的文档工作流效率跃迁
  • 3个步骤让你的WiFi信号死角无处遁形:家庭网络可视化优化指南
  • 马鞍山品质好的撕碎机厂家哪家专业
  • 现在不看就晚了:工信部信通院最新《大模型能力评估报告》曝光——DeepSeek在中文逻辑推理榜单登顶,ChatGPT未进前三(附原始评测代码)
  • 高危井下作业管控难点,前置化智能健康风控给出完整解法
  • 基于Si4731与PIC32的数字收音机开发实战
  • 2026年热门阅读软件实测,一篇讲明白
  • 3大核心功能解析:OBS RTSP服务器插件专业级直播方案
  • BetterNCM安装器完整教程:三步解锁网易云音乐隐藏功能