Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app.
JavaScript
1,463
287 commits
updated Sep 27, 2026
Run Obsidian in the browser. No remote desktop required.
Ignis is a compatibility shim that provides browser-compatible implementations of the Electron APIs used by Obsidian, allowing Obsidian to run in a standard browser while keeping your vault on the server. Obsidian is not included in or distributed with this project. The Docker container downloads Obsidian directly from its official source on first run.
While Obsidian's local-first approach works well for most users, options for accessing your own Obsidian installation remotely have been limited to VNC-based solutions with poor user experience. Ignis provides an alternative for users who want to access their own copy of Obsidian from a browser, in a close-to-native format.
Ignis is under active development as my daily driver for note taking. It's still a new project, so gaps get documented and fixed as I go. You can look at the roadmap for an overview of major planned fixes and features.
Run Ignis with Docker Compose. Use the following compose file for a basic setup.
services:
ignis:
image: nobbe/ignis:latest
ports:
- "8080:8080"
environment:
# match these to your host user (run: id)
- PUID=1000
- PGID=1000
volumes:
- ./vaults:/vaults
- ./data:/app/data
- obsidian-app:/app/obsidian-app
restart: unless-stopped
volumes:
obsidian-app:
Save it as docker-compose.yml, then run docker compose up -d and open http://localhost:8080. The first start pulls Obsidian from its official source, so give it a minute or two. With no vaults yet, Ignis opens the vault manager to create your first one.
[!IMPORTANT] Before exposing Ignis to other machines, put authentication in front of it and serve it over HTTPS. It has no built-in auth, so anyone who reaches an open instance can read and write the whole vault, and outside a secure context (HTTPS, or
localhost) the browser disables features Ignis needs. See Remote access and Authentication.
Full setup and configuration are in the deploy guide; the rest of the documentation covers settings, security, and operations.
Ignis currently ships as a self-hosted server, with a desktop plugin variant planned. The server variant lives in apps/ignis-server/; setup is in the documentation.
child_process do not load.?workspace= URL parameter.?file= parameter, with an "as Ignis URL" option in the note menu 'Copy path' section.See the documentation for the full feature set and setup.
Running Obsidian in a browser means some Electron and Node capabilities have no equivalent, so certain plugins and features are limited or unavailable. See Limitations and Plugin compatibility for details.
A few design decisions worth knowing about for someone evaluating Ignis against large vaults or slow storage:
WRITE_COALESCE_MS is set.See Settings for more in-depth descriptions.
Contributions are welcome. See CONTRIBUTING.md for guidelines, especially on how to report plugin compatibility issues. Check the open issues for things to work on.
See ARCHITECTURE.md for details on the shim layer, plugin system, and server internals.
This project is licensed under the GNU Affero General Public License v3.0.
Ignis is not affiliated with, endorsed by, or associated with Dynalist Inc. or Obsidian. It is an independently developed interoperability tool and contains no Obsidian source code, binaries, or assets. No part of Obsidian is distributed or included in this repository; the Docker container downloads Obsidian directly from its official source at runtime.
This work falls under the interoperability provisions of Directive 2009/24/EC (the EU Software Directive), Article 6. See LEGAL.md for the full rationale.
This project exists because its author uses Obsidian daily and wants to access it from a browser. There is no intent to harm Obsidian, Dynalist Inc., or their business. If you are a representative of Dynalist Inc. and wish to discuss this project, please reach out: ignis@thiefling.com
2,587 followers · starred Sep 2026
425 followers · starred May 2026
45 followers · starred Jul 2026
193 followers · starred Sep 2026
JavaScript
87.3%
Svelte
9.1%
CSS
1.8%
Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app.
JavaScript
1,463
287 commits
updated Sep 27, 2026
Run Obsidian in the browser. No remote desktop required.
Ignis is a compatibility shim that provides browser-compatible implementations of the Electron APIs used by Obsidian, allowing Obsidian to run in a standard browser while keeping your vault on the server. Obsidian is not included in or distributed with this project. The Docker container downloads Obsidian directly from its official source on first run.
While Obsidian's local-first approach works well for most users, options for accessing your own Obsidian installation remotely have been limited to VNC-based solutions with poor user experience. Ignis provides an alternative for users who want to access their own copy of Obsidian from a browser, in a close-to-native format.
Ignis is under active development as my daily driver for note taking. It's still a new project, so gaps get documented and fixed as I go. You can look at the roadmap for an overview of major planned fixes and features.
Run Ignis with Docker Compose. Use the following compose file for a basic setup.
services:
ignis:
image: nobbe/ignis:latest
ports:
- "8080:8080"
environment:
# match these to your host user (run: id)
- PUID=1000
- PGID=1000
volumes:
- ./vaults:/vaults
- ./data:/app/data
- obsidian-app:/app/obsidian-app
restart: unless-stopped
volumes:
obsidian-app:
Save it as docker-compose.yml, then run docker compose up -d and open http://localhost:8080. The first start pulls Obsidian from its official source, so give it a minute or two. With no vaults yet, Ignis opens the vault manager to create your first one.
[!IMPORTANT] Before exposing Ignis to other machines, put authentication in front of it and serve it over HTTPS. It has no built-in auth, so anyone who reaches an open instance can read and write the whole vault, and outside a secure context (HTTPS, or
localhost) the browser disables features Ignis needs. See Remote access and Authentication.
Full setup and configuration are in the deploy guide; the rest of the documentation covers settings, security, and operations.
Ignis currently ships as a self-hosted server, with a desktop plugin variant planned. The server variant lives in apps/ignis-server/; setup is in the documentation.
child_process do not load.?workspace= URL parameter.?file= parameter, with an "as Ignis URL" option in the note menu 'Copy path' section.See the documentation for the full feature set and setup.
Running Obsidian in a browser means some Electron and Node capabilities have no equivalent, so certain plugins and features are limited or unavailable. See Limitations and Plugin compatibility for details.
A few design decisions worth knowing about for someone evaluating Ignis against large vaults or slow storage:
WRITE_COALESCE_MS is set.See Settings for more in-depth descriptions.
Contributions are welcome. See CONTRIBUTING.md for guidelines, especially on how to report plugin compatibility issues. Check the open issues for things to work on.
See ARCHITECTURE.md for details on the shim layer, plugin system, and server internals.
This project is licensed under the GNU Affero General Public License v3.0.
Ignis is not affiliated with, endorsed by, or associated with Dynalist Inc. or Obsidian. It is an independently developed interoperability tool and contains no Obsidian source code, binaries, or assets. No part of Obsidian is distributed or included in this repository; the Docker container downloads Obsidian directly from its official source at runtime.
This work falls under the interoperability provisions of Directive 2009/24/EC (the EU Software Directive), Article 6. See LEGAL.md for the full rationale.
This project exists because its author uses Obsidian daily and wants to access it from a browser. There is no intent to harm Obsidian, Dynalist Inc., or their business. If you are a representative of Dynalist Inc. and wish to discuss this project, please reach out: ignis@thiefling.com
2,587 followers · starred Sep 2026
425 followers · starred May 2026
45 followers · starred Jul 2026
193 followers · starred Sep 2026
JavaScript
87.3%
Svelte
9.1%
CSS
1.8%