Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app.
Find a file
2026-03-11 22:08:30 +01:00
scripts minor refactor, cleanup 2026-03-11 22:08:30 +01:00
server minor refactor, cleanup 2026-03-11 22:08:30 +01:00
shims minor refactor, cleanup 2026-03-11 22:08:30 +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 docker deploy setup 2026-03-10 21:07:19 +01:00
Dockerfile minor refactor, cleanup 2026-03-11 22:08:30 +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 setup project 2026-03-07 09:04:22 +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.