Obsidian Remote: Running Obsidian in docker with browser-based access

This docker image allows you to run obsidian in docker as a container and access it via your web browser. This was created because I wanted to run it on my home server so I can back up and use the obsidian API plugin to auto update parts of my vault.

I responded to a separate thread in the forum and on reddit and people seemed interested so creating a separate thread to track any updates or questions.

Please create an New Issue in GitHub if you have an issue and I will try to help. Look at the README.md for more details.

Have Fun!

Quick Start

After the container starts use http://IP_OF_DOCKER_HOST:8080 to access. if local.


docker run --rm -it \
  -v /pathonhosttostoreyour/vaults:/vaults \
  -v /pathonhosttostoreinternalobsidian/config:/config \
  -p 8080:8080 \


docker run --rm -it `
  -v D:/ob/vaults:/vaults `
  -v D:/ob/config:/config `
  -p 8080:8080 `

Latest Release: Obsidian Remote v0.0.3

  • Updated menu so you can reopen Obsidian after closing it in the browser.
  • Added clip showing close and restart of Obsidian in browser
  • Format cleanup
  • Full Changelog: v0.0.2…v0.0.3

Source: sytone/obsidian-remote: Run Obsidian.md in a browser via a docker container. (github.com)

Original Thread


Version v0.1.0 Release

To update you need to pull the image and recreate. The Vaults will not be lost as they are mapped to the host. To update pull the image using the commands below. Update the command line to match your local configuration.

docker pull ghcr.io/sytone/obsidian-remote:latest
docker stop obsidian-remote
docker rm obsidian-remote
docker run --rm -it `
  -v D:/ob/vaults:/vaults `
  -v D:/ob/config:/config `
  -p 8080:8080 `
  -p 27123:27123 `

What’s Changed


  • Expose ports for the Local REST API

Full Changelog: Comparing v0.0.4...v0.1.0 · sytone/obsidian-remote · GitHub


Can the port 8080 be changed, without any issues?
I have other stuff on that port, which can’t be moved…

I managed to change it. Just replace the first half of the port (before :) like below

  -p 8989:8080

This will use your port 8989 instead


Yep, just use the standard docker commands to change ports.


any plan to make it compatible with raspberry ? :slight_smile:

Is it possible to run it on raspberry pi 4? I would be a really great way for me to keep my notes accessible from different devices.

Thank you


Are there any step-by-step instructions anywhere on how to get this running on Raspberry Pi for a docker newbie? I see that you mention in the Readme that there is an ARM container on the docker hub, but I’m getting a message that it is the amd64 image.

There are some key binding conflicts between Obsidian and the host browser. For instance, a big one is CTRL-N for a new document. It instead yields a new browser window.

I cannot copy a text in a note and paste to outside and vice versa

In case you are using Chrome as your browser: starting Chrome in application mode should fix the key binding problem. e.g.

"path\to\chrome\chrome.exe" --app=http://<server>:<url>

You update the image to expose the port 27123. But when I try to install the Local REST API it sends me an error and could not install the plug-in. Any idea?

Maybe is the plugin version , because it says version 2.0.5 and the plugin latest version is 2.0.4. But I don’t know how to change it.

By the way in the desktop Obsidian (no docker) it works ok.

So I can install desktop obsidian on my main device and set up a docker instance where the volumes point to my main data, that sounds fun!