ignis
Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app.
What is it?
What it is
Ignis is a browser-based compatibility shim that enables Obsidian to run in a standard web browser by providing Electron API implementations, allowing users to access their vaults remotely without requiring a local installation.
Why it exists
Ignis addresses the lack of user-friendly remote access solutions for Obsidian, which previously relied on VNC-based methods with poor UX. It provides a browser-native interface for accessing self-hosted Obsidian instances.
Who should use it
Users who want to access their Obsidian vault from a browser, especially those needing remote access without VNC, developers building or contributing to the project, and power users who prefer a server‑side solution.
Who should avoid it
Users who rely heavily on Obsidian plugins that use Node native modules or child_process, or who require full Electron/Node functionality not available in the browser shim.
How it works
A quick walkthrough in plain English
How ignis works
Step 1 of 3
You interact with it
Open ignis, send a request, or connect it to your stack.
Features
Advantages
- Provides remote access to Obsidian without VNC-based solutions
- Close-to-native user experience in a standard browser
- Memory-efficient through bounded LRU caching
- Optimized startup via pre-compressed bootstrap responses
- Supports Obsidian Sync and headless server-side sync
Disadvantages
- Plugins requiring Node native modules or child_process are incompatible
- No built-in authentication (requires external proxy/auth)
- Requires HTTPS for full feature availability in browsers
- Limited functionality due to browser-based execution constraints
Installation
compose
Save it as docker-compose.yml, then run docker compose up -d and open http://localhost:8080.
FAQ
How do I run Ignis using Docker Compose?
Create a docker-compose.yml with the ignis service (image nobbe/ignis:latest), map port 8080, set PUID/PGID to match your host user, mount ./vaults:/vaults, ./data:/app/data, and a named volume obsidian-app:/app/obsidian-app, then run `docker compose up -d` and open http://localhost:8080.
Do I need to add authentication and HTTPS before exposing Ignis to other machines?
Yes. Ignis has no built‑in authentication, and browsers disable required features outside a secure context. Place a reverse proxy with auth in front of Ignis and serve it over HTTPS (or only access it via localhost).
Where are my Obsidian vaults stored when using Ignis?
Vaults are stored in the host directory you mount to `/vaults` (e.g., `./vaults:/vaults` in the compose file). Each vault appears as a subfolder inside that directory.
Can I use multiple vaults simultaneously, and how does switching work?
Ignis supports multi‑vault operation. You can create, open, switch, rename, or delete vaults from the vault manager, and each browser tab can open a different vault. Switching is done via the Obsidian UI or by opening a tab with the desired vault selected.
What performance‑related settings can I adjust for large vaults or slow storage?
You can tune the LRU content cache size (default 50 MB) and enable write coalescing by setting the `WRITE_COALESCE_MS` environment variable to debounce rapid writes on slow filesystems like rclone, FUSE, NFS, or SMB. Both are configurable from the Settings panel in the UI.
Does Ignis support Obsidian Sync and mobile devices?
Yes. Obsidian Sync works when you are logged in a tab, and there is also a server‑side Headless Sync mode that runs without an open tab. Ignis also provides a mobile‑friendly UI that adapts to small screens.
Featured in Videos
YouTube tutorials and walkthroughs for ignis
Alternatives
Similar projects ranked by category, topics, and text overlap.