ignis:让原版 Obsidian 随处可用——浏览器访问,自动同步

AhFei 2026-07-12 17:54 1

ignis 将原版 Obsidian 带到了浏览器。它不是 VNC 等远程桌面方案,而是真正的 Web 应用,保留了原版的编辑体验,支持绝大多数功能和插件,并能自动同步数据,让你在任何浏览器中无缝继续创作。


















指标 描述
适用系统 支持 Docker 的 Linux 系统
走通流程时间 15 分钟


安装 ignis


创建应用目录


mkdir -p ~/myserve/ignis && cd ~/myserve/ignis && mkdir vaults data

创建 docker-compose.yml 文件


vim docker-compose.yml

services:
ignis:
image: nobbe/ignis:latest
container_name: ignis
ports:
- "127.0.0.1:44682:8080"
environment:
- PUID=1000
- PGID=1000
volumes:
- ./vaults:/vaults
- ./data:/app/data
- obsidian-app:/app/obsidian-app
restart: unless-stopped

volumes:
obsidian-app:

拉取镜像


docker compose pull

运行容器


docker compose up -d


首次启动时,容器会从官方源码下载 Obsidian ,并安装 Obsidian Headless CLI 。这需要一两分钟。



反代 + 访问密码


获取证书


先了解如何获取证书:使用 acme.sh 申请和自动更新证书的完整指南 - 技焉洲


使用 root 用户执行获取证书的命令


sudo -i


注意修改下面的域名



申请证书


acme.sh --issue -d obsidian.vfly2.com --webroot /var/www/html

安装证书,并设置在自动更新证书后,重新加载 Nginx


acme.sh --install-cert -d obsidian.vfly2.com \
--key-file /etc/ssl/private/obsidian.vfly2.com.key \
--fullchain-file /etc/ssl/certs/obsidian.vfly2.com.cer \
--reloadcmd "systemctl reload nginx"

创建访问密码


创建密码文件(如果提示缺少 htpasswd ,执行 sudo apt install apache2-utils


需要修改命令中的 <username> 为你的用户名


sudo htpasswd -c /etc/nginx/.htpasswd <username>

Nginx 配置


创建 Nginx 配置文件(只需修改域名)


sudo vim /etc/nginx/sites-available/ignis

server {
listen 80;
server_name obsidian.vfly2.com;

location /.well-known/acme-challenge/ {
root /var/www/html;
}

location / {
return 301 https://$server_name$request_uri;
}
}

server {
listen 443 ssl;
server_name obsidian.vfly2.com;

ssl_certificate /etc/ssl/certs/obsidian.vfly2.com.cer;
ssl_certificate_key /etc/ssl/private/obsidian.vfly2.com.key;

client_max_body_size 10m;
proxy_buffering off;
proxy_request_buffering off;

location /.well-known/acme-challenge/ {
root /var/www/html;
}

location / {
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;

proxy_pass http://localhost:44682;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_connect_timeout 300;

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

location /favicon.png {
proxy_pass http://localhost:44682;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

启用配置


sudo ln -s /etc/nginx/sites-available/ignis /etc/nginx/sites-enabled/ignis

检查配置并重启生效


sudo nginx -t && sudo systemctl reload nginx

使用 ignis


在网页上可以创建仓库,每一个仓库就是 ~/myserve/ignis/vaults 下的一个目录,和桌面版是一样的。


如果你想把现有的仓库在浏览器里打开,只需要复制到 vaults 目录下。




以下是手机浏览器打开的样子,极简美观。不过目前,手机浏览器无法切换仓库,我的办法是先以桌面版打开,切换仓库后,再改为手机版。



ignis 与桌面 Obsidian 互相同步


ignis 可以看作是 web 版的 Obsidian ,由于都对应着一个服务端,所以在任意浏览器打开都能看到相同的内容,编辑后会自动同步到每个浏览器。


可是,如果你同样在使用桌面端的原版 Obsidian ,想要 web 版的和桌面版的实现同步,可以借助第三方的文件同步功能,比如坚果云、Nextcloud 等网盘。


下面介绍 Nextcloud 的同步方案,使用其他应用也可以,理念是一样的,就是在服务端安装网盘的客户端,并定期进行同步即可。




Debian/Ubuntu 上安装 nextcloudcmd


sudo apt install nextcloud-desktop-cmd

第一次先手动执行一次同步(填入用户名、密码、Nextcloud 上的路径、本地系统的路径、网址)


nextcloudcmd -u <username> -p <password> --silent --path /Notes $HOME/myserve/ignis/vaults https://nextcloud.vfly2.com/

之后可以借助 crontab 定时同步:


crontab -e

例如每 3 分钟同步一次:


*/3 * * * * nextcloudcmd -u <username> -p <password> --non-interactive --silent --path /Notes /home/<username>/myserve/ignis/vaults https://nextcloud.vfly2.com/




原文链接: https://yanh.tech/2026/07/ignis-self-hosted-web-obsidian/




版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技焉洲 (yanh.tech) 。


最新回复 (1)
  • bkmi 07-12 21:51
    1
    Obsidian 终于支持 headless 了吗
* 帖子来源V2EX
返回