收起左侧

obsidian web docker非vnc 分享 需一定技术

0
回复
44
查看
[ 复制链接 ]

2

主题

1

回帖

0

牛值

江湖小虾

obsidian多端使用者,也想在线使用

偶然发现大佬的项目:https://github.com/Nystik-gh/ignis,十分感谢大佬的开源

亲测可行,基本测试了下,能用

以下是我通过gemini协助搭建起来的

image.png

image.png

以往想在浏览器里用 Obsidian,只能用 Docker 跑一个笨重的 Linux 桌面(VNC 方案),体验很卡。 最近开源界出了一个神器叫 Ignis。它是一个轻量级的 Web 包装层,直接在浏览器里加载 Obsidian 的官方 JS 核心

  • 原理: 它通过把 Electron API 替换成浏览器 API,让你直接在网页上操作原汁原味的 Obsidian,文件直接存在服务器上。
  • 支持: 核心编辑功能、Markdown 语法、Canvas(画布)、主题、绝大多数社区插件
  • 同步方式: 你可以用 Docker 把 Ignis 部署在你的 NAS 或服务器上,直接把 Obsidian 的文件夹(Vault)挂载进容器。你既可以在电脑上用客户端改,也可以在外面随时打开浏览器登录网页修改,数据完全实时同步。

方式1,在线需网络,个人测试有一定问题,可能是我自己网络问题

docker-compose.yml

services:
  ignis:
    # 关键修改:直接指定项目的代码仓库和对应的子目录
    build:
      context: https://github.com/Nystik-gh/ignis.git#main
      context_dir: apps/ignis-server
    container_name: ignis-obsidian
    ports:
      - "3000:3000"
    volumes:
      - /vol1/1000/docker/ignis/vaults:/vaults # 存放你 Obsidian 笔记的真实路径
      - /vol1/1000/docker/ignis/config:/config # 存放 Ignis 配置的路径
    restart: unless-stopped

这种方式我没跑通,自身网络问题,若是有问题自行寻找ai协助

方式2,手工,个人通过这种方式成功

为您梳理的完整 Docker Compose 本地编译、打包及排坑流程。您可以直接复制保存为 .md 文件。

Ignis (Obsidian 网页版) Docker Compose 本地编译、打包与排坑全记录

本项目基于单体仓库(Mono-repo)架构的开源项目 Ignis 进行本地编译、固化与部署。

1. 环境准备与基础镜像拉取

由于国内环境或代理源失效(例如飞牛官方源返回 401 Unauthorized),直接在编译时拉取基础镜像可能失败。我们采用标准代理源手动预拉取 node:22-slim 基础镜像:

Bash

# 使用目前存活的国内加速节点拉取基础镜像
docker pull docker.m.daocloud.io/library/node:22-slim

# 为镜像打上标准标签,骗过后续的 Dockerfile 编译阶段
docker tag docker.m.daocloud.io/library/node:22-slim node:22-slim

2. 源码下载与目录结构

由于宿主机可能存在 DNS 污染或无法直连 GitHub(Could not resolve host: github.com),因此不采用远程 Git 构建,而是下载源码到本地进行完全离线编译

  1. 下载源码:从 GitHub 下载项目主分支的 Zip 包并解压。
  2. 存放路径:将解压后的完整目录放至 fnOS 宿主机的 /vol1/1000/docker/ignis/ 下。

标准的本地目录结构应如下所示:

Plaintext

/vol1/1000/docker/ignis/
**── ignis-main/               # 解压出来的完整源码根目录(即构建上下文 context)
**   **── apps/
**   **   **── ignis-server/
**   **       **── Dockerfile    # 核心 Dockerfile 路径
**   **── packages/
**   **── package.json
**   **── ...
**── obsidian/
**   **── vaults/               # 本地 Obsidian 笔记挂载目录
**── config/                   # Ignis 配置文件挂载目录
**── docker-compose.yml        # Docker Compose 配置文件

3. 第一阶段:本地编译与端口修正

在当前目录下创建并配置 docker-compose.yml

关键避坑点(端口修正)

根据容器日志,Ignis 服务端在容器内部实际监听的端口是 8080,而非默认的 3000。因此宿主机的端口(例如 35701)必须映射到内部的 8080

3.1 编写 docker-compose.yml(编译版)

YAML

services:
  ignis:
    build:
      context: /vol1/1000/docker/ignis/ignis-main  # 将构建上下文设为解压后的项目根目录
      dockerfile: apps/ignis-server/Dockerfile    # 显式指定相对于 context 的 Dockerfile 路径
    container_name: ignis-obsidian
    ports:
      - "35701:8080"                              # 宿主机端口 : 容器内部监听端口
    volumes:
      - /vol1/1000/docker/ignis/obsidian/vaults:/vaults
      - /vol1/1000/docker/ignis/config:/config
    restart: unless-stopped

3.2 执行首次编译与启动

/vol1/1000/docker/ignis 目录下执行:

Bash

docker compose up -d --build

注:初次打开网页时,容器后台会自动前往 Obsidian 官网下载并解压官方核心 v1.12.7,若页面暂时空白请稍作等待。

4. 第二阶段:固化容器为本地镜像并导出

为了摆脱对编译环境和外部源码目录的依赖,将当前运行成功、且已内置好 Obsidian 核心的容器永久固化。

4.1 提交容器为本地镜像

参考官方版本号(0.8.7 - Karm),将运行中的容器 ignis-obsidian 打包:

Bash

docker commit ignis-obsidian ignis:0.8.7-karm

4.2 导出镜像为本地 TAR 包

将生成的镜像打包成归档文件,方便下载备份或跨机器迁移:

Bash

docker save -o ./ignis-0.8.7-karm.tar ignis:0.8.7-karm

完成后可通过飞牛文件管理器下载 ignis-0.8.7-karm.tar(约 330MB)。后续如需在其他设备导入,只需执行 docker load -i ignis-0.8.7-karm.tar

4.3 升级 docker-compose.yml 为“纯镜像版”

现在可以完全移除 build 逻辑,改用刚刚固化好的本地镜像来运行:

YAML

services:
  ignis:
    image: ignis:0.8.7-karm                      # 直接引用本地固化好的镜像
    container_name: ignis-obsidian
    ports:
      - "35701:8080"
    volumes:
      - /vol1/1000/docker/ignis/obsidian/vaults:/vaults
      - /vol1/1000/docker/ignis/config:/config
    restart: unless-stopped

应用更改:

Bash

docker compose down
docker compose up -d
收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则