Ignis介绍:
Ignis通过Obsidian官方的 Electron API 实现,使Obsidian能够在标准浏览器中运行,同时将您的保险库保留在服务器上。Obsidian本身不包含在本项目中,也不随本项目一起分发,Docker容器会在首次运行时直接从其官方仓库下载Obsidian。
虽然Obsidian的本地优先策略对大多数用户来说效果不错,但如果用户想远程访问自己的Obsidian却只能通过基于VNC的解决方案来实现,用户体验不佳。Ignis为希望通过浏览器以接近原生方式访问Obsidian的用户提供了一种替代方案。
请注意,Ignis不是远程桌面,不是类似VNC这样的东西,它是一个真正的Web APP。且Ignis只能工作在HTTPS下,为此你必须配置反向代理。
Ignis在Obsidian的基础功能上还增加了一些功能,比较实用的有:
保险库(Vaults)
- 为Obsidian的多保险库支持定制的用户界面,允许创建、打开、切换、重命名和删除。
- 不同的保险库可以在不同的浏览器标签页中加载。
文件(Files)
- 通过功能区图标从本地计算机上传文件,右键单击文件夹->上传文件,或将文件拖放到用户界面中。
- 通过右键单击任何笔记->下载,或通过右键单击任何文件夹->下载为ZIP来下载文件和文件夹。
服务器端同步
- Obsidian Headless 以服务器端插件的形式实现,无需活动浏览器标签页即可执行持续同步。
安装NGINX、CertBot、Docker:
apt update
apt install curl nginx python3-certbot-nginx apache2-utils
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
新建compose文件:
mkdir /opt/ignis && cd /opt/ignis && nano docker-compose.yml
写入如下内容:
services:
ignis:
image: nobbe/ignis:latest
ports:
- "127.0.0.1:18080:8080"
environment:
- OBSIDIAN_VERSION=1.12.7
- PUID=1000
- PGID=1000
volumes:
- ./vaults:/vaults
- ./data:/app/data
- obsidian-app:/app/obsidian-app
restart: unless-stopped
volumes:
obsidian-app:
离线/受限网络安装,例如你的机子无法通过Github下载Obsidian安装包,可以事先准备好deb软件包:
wget https://github.com/obsidianmd/obsidian-releases/releases/download/v1.12.7/obsidian_1.12.7_amd64.deb
修改compose文件使用如下配置:
services:
ignis:
image: nobbe/ignis:latest
ports:
- "127.0.0.1:18080:8080"
environment:
- OBSIDIAN_VERSION=1.12.7
- OBSIDIAN_PACKAGE=/packages/obsidian.deb
- PUID=1000
- PGID=1000
volumes:
- ./obsidian_1.12.7_amd64.deb:/packages/obsidian.deb:ro
- ./vaults:/vaults
- ./data:/app/data
- obsidian-app:/app/obsidian-app
restart: unless-stopped
volumes:
obsidian-app:
启动:
docker compose up -d
1.全部可配置的环境变量,见Ignis官方文档。
2.Ignis目前没有原生身份验证能力,如果你将其暴露在公网运行,务必配置一个身份验证,你可以使用OIDC / SSO或者Basic Auth。
这里我配置一个NGINX Basic Auth,创建htpasswd文件:
htpasswd -c /etc/nginx/.htpasswd imlala
新建NGINX站点配置文件,请注意Ignis需要WebSocket支持:
nano /etc/nginx/sites-available/ignis
写入如下内容:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name ignis.example.com;
client_max_body_size 5G;
auth_basic "auth";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:18080;
proxy_http_version 1.1;
proxy_set_header Host $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_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
启用站点:
ln -s /etc/nginx/sites-available/ignis /etc/nginx/sites-enabled/ignis
签发证书:
certbot --nginx
首次使用,需要创建一个保险库(Vault)
效果:
荒岛




















