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) 。