Ignis 自托管 Web 版 Obsidian 部署
本卡片记录如何在 VPS 上通过 Docker Compose 部署 Ignis(Web 版自托管 Obsidian),并无缝接入本地 Wiki 知识库,同时配合 Cloudflare Tunnel 实现安全的零端口暴露外网访问。
一、 部署准备
- 知识库路径:
/root/HermesAgent/wiki(即本地 Obsidian 库 / Vault 所在路径)。 - 外部网络:已创建并运行的 Cloudflare Tunnel 容器所属的全局网络
cf-gateway。 - 安全性原则:不暴露宿主机端口,完全通过 Docker 内部网络进行反代,防范外部扫描。
二、 编写 docker-compose.yml
在服务器创建部署工作目录 ~/ignis/,并编写 docker-compose.yml 配置文件:
version: '3.8'
services:
ignis:
image: nobbe/ignis:latest
container_name: ignis
environment:
# 必须以 root 运行以确保能正常读取宿主机 /root 目录下的知识库文件
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
volumes:
# 核心挂载:将宿主机实际知识库路径映射到容器的 vaults 目录下
- /root/HermesAgent/wiki:/vaults/wiki
# 挂载配置与插件缓存数据实现持久化
- ./data:/app/data
- obsidian-app:/app/obsidian-app
restart: unless-stopped
# 加入全局网关网络,供 Cloudflare Tunnel 穿透访问
networks:
- cf-gateway
volumes:
obsidian-app:
# 引用外部已存在的全局网络
networks:
cf-gateway:
external: true三、 详细部署步骤
- 创建数据及配置持久化目录:
mkdir -p ~/ignis/data - 将上述 YAML 配置文件写入
~/ignis/docker-compose.yml。 - 启动容器运行:
注:首次启动时,Ignis 会在后台自动从官方源下载 Obsidian 的 headless 运行包,需要 1-2 分钟完成初始化。cd ~/ignis && docker compose up -d
四、 Cloudflare Tunnel 穿透配置
由于 Ignis 没有向宿主机暴露任何端口,我们需要在其所在的 cf-gateway 网络中通过 Tunnel 进行内网穿透:
- 穿透配置(Zero Trust 控制台):
在 Tunnel 的 Public Hostname 页面中添加一个子域名,并设置指向:
- Type:
HTTP - URL:
ignis:8080(直接使用容器名及容器内部的 8080 默认端口)
- Type:
五、 首次登录与配置
- 浏览器访问解析好的子域名,进入自托管的 Obsidian 界面。
- 在初始化选项中,选择 Open folder as vault(打开文件夹作为库)。
- 路径输入框中填写容器内路径:
/vaults/wiki - 此时,你的双链知识库卡片将完整加载在浏览器中,支持实时编辑和阅读,且所有改动会自动保存在宿主机目录下,由 Git 脚本自动完成版本控制。
相关链接
- CF-Probe探针部署配置 网络监控与 VPS 性能上报
- Linux运维与文件传输 主机目录权限与安全控制