Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app.
Find a file
2026-03-14 00:53:26 +01:00
images fix os.version shim, improve docker image 2026-03-12 22:32:39 +01:00
scripts fix os.version shim, improve docker image 2026-03-12 22:32:39 +01:00
server improve PDF export popup handling 2026-03-13 20:43:38 +01:00
shims improve PDF export popup handling 2026-03-13 20:43:38 +01:00
.gitignore vault management 2026-03-10 22:31:01 +01:00
ARCHITECTURE.md minor refactor, cleanup 2026-03-11 22:08:30 +01:00
build.js setup project 2026-03-07 09:04:22 +01:00
docker-compose.yml fix os.version shim, improve docker image 2026-03-12 22:32:39 +01:00
Dockerfile fix version handling 2026-03-12 22:46:53 +01:00
LICENSE Initial commit 2026-03-08 15:03:03 +01:00
package-lock.json add lock file 2026-03-10 19:52:47 +01:00
package.json fix package name 2026-03-14 00:53:26 +01:00
README.md minor refactor, cleanup 2026-03-11 22:08:30 +01:00

Ignis

An Electron shim and server bridge for running Obsidian in a browser.

How it works

Ignis replaces the electron backend of Obsidian with a browser-compatible 'shim' that intercepts calls to Node.js and Electron APIs and routes them to a server.

An in-memory metadata cache is built on page load so that sync filesystem calls (existsSync, statSync, etc.) work without round-tripping to the server every time. Async reads and writes go over HTTP. IPC channels like ipcRenderer.sendSync("vault") are faked with a dispatcher that returns what Obsidian expects. Native stuff like clipboard, menus, and dialogs have minimal stubs.

Status

Ignis is in an experimental state. Basic functionality works but no guarantee of stability or feature completeness. See ARCHITECTURE.md for details.