diff --git a/README.md b/README.md index 98b17bb..cfbae62 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,20 @@ -# obsidian-sync +# obsidian-sync -> Service for synchronising edits to my Obsidian vault accross multiple machines +> Service for synchronising edits to my Obsidian vault accross multiple machines -Synchronisation is managed via a CouchDB database and the [LiveSync]() Obsidian community plugin. +![Architecture diagram](./diagram.png) + +Synchronisation is managed via a CouchDB database and the [LiveSync]() Obsidian community plugin. The provisioning and deployment of the DB is managed via Docker. See Docker Compose file in this repo. CouchDB runs on an HP T520 Thin Client (hostname: `hpt520-bravo`, local IP -address: 192.168.178,49) acting as +address: 192.168.178.49) acting as server on my local network. `hpt520-bravo` is node on my Tailscale network, as are all other devices that want to Sync with the CouchDB server. In order for LiveSync to work on mobile devices, the CouchDB instance must be -served from an HTTPS URL. This is a constraint of the LiveSync plugin. To achieve this, I use the instance of nginx running on my remote +served from an HTTPS URL. This is a constraint of the LiveSync plugin. To achieve this, I use the instance of nginx running on my remote VPS to forward incoming HTTPS requests to `https://obsidian-sync.systemsobscure.net` to the HTTP Tailscale address that is running CouchDB on `hpt520-bravo` (100.xxx.xxx.xxx:5984). As the VPS is also a diff --git a/diagram.png b/diagram.png new file mode 100644 index 0000000..7d29c25 Binary files /dev/null and b/diagram.png differ