4.6 KiB
Simple CouchDB Sync
Simple CouchDB Sync is an Obsidian plugin that synchronizes vault files through a CouchDB database.
Features
- Manual synchronization command and ribbon action.
- Live synchronization for file create, modify, delete, rename events, and periodic remote pulls.
- Visible Obsidian status bar text with the latest sync result.
- Syncs Markdown notes and binary attachments.
- Uses Obsidian
requestUrl, so it can work on desktop and mobile, including Android. - Stores CouchDB connection settings inside the plugin settings tab.
- One-button plugin update from the Gitea repository.
Default Test Configuration
- Server:
https://obsidian.dinlo.ru - Database:
obsidian-test - User:
test - Password:
testpassword
You can change these values in Obsidian under Settings -> Community plugins -> Simple CouchDB Sync.
Installation From Gitea On Desktop
The repository contains a ready-to-load Obsidian plugin. No build step is required.
- Open the Obsidian vault folder on your computer.
- Create this folder if it does not exist:
<vault>/.obsidian/plugins/simple-couchdb-sync/
- Download these files from the Gitea repository and place them into that folder:
manifest.json
main.js
styles.css
- Restart Obsidian, or run "Reload app without saving" from the command palette.
- Open Settings -> Community plugins.
- Disable Safe mode or Restricted mode if Obsidian asks for it.
- Enable
Simple CouchDB Sync. - Open the plugin settings and verify the CouchDB server, database, username, and password.
- Press
Syncin the plugin settings, or use the commandSync vault with CouchDB. - Keep
Live syncenabled on every device that should receive remote changes automatically.
For your test vault, the target folder is:
C:\Users\dimir\Documents\ObsidianTest\Test\.obsidian\plugins\simple-couchdb-sync
If Git is installed, you can clone the repository directly into the plugin folder:
cd "C:\Users\dimir\Documents\ObsidianTest\Test\.obsidian\plugins"
git clone https://nnootteess.dinlo.ru/dimon/simple-couchdb-sync.git simple-couchdb-sync
Repository URL:
https://nnootteess.dinlo.ru/dimon/simple-couchdb-sync
Installation From Gitea On Android
Android Obsidian can load the same plugin files, but the folder must be copied into the mobile vault.
- Enable Community plugins in Obsidian for Android.
- Using a file manager, open your vault folder on the phone.
- Create this folder:
<vault>/.obsidian/plugins/simple-couchdb-sync/
- From the Gitea repository, download these files:
manifest.json
main.js
styles.css
- Copy the three files into:
<vault>/.obsidian/plugins/simple-couchdb-sync/
- Fully close and reopen Obsidian on Android.
- Go to Settings -> Community plugins and enable
Simple CouchDB Sync. - Open the plugin settings and enter the same CouchDB connection settings as on desktop.
- Run
Sync vault with CouchDB. - Keep
Live syncenabled if the phone should pull changes from CouchDB automatically.
For easier Android updates, install an Android Git client such as Termux or a file manager with Git support, then clone the repository into the same plugin folder. After updating files, restart Obsidian so it reloads main.js.
Updating The Plugin
The plugin includes a one-button updater.
- Open Obsidian Settings -> Community plugins -> Simple CouchDB Sync.
- In
Plugin updates, keep the Gitea raw URL as:
https://nnootteess.dinlo.ru/dimon/simple-couchdb-sync/raw/branch/main
- Press
Check and update. - Restart Obsidian, or disable and re-enable the plugin.
Manual update is also possible. When the repository changes, update these three files in the plugin folder:
manifest.json
main.js
styles.css
Then restart Obsidian or disable and re-enable the plugin.
Live Sync Behavior
Live sync must be enabled on every device where automatic updates are expected.
- When a local file changes, the plugin queues it and syncs after a short delay.
- On the configured interval, the plugin checks CouchDB for changes created on other devices.
- The status bar shows the latest result, including pushed and pulled file counts.
- If live sync is disabled, use the
Syncbutton manually on each device.
CouchDB Notes
The plugin stores one CouchDB document per vault file. Document ids are derived from file paths. Deleted files are represented by tombstone documents so deletion can propagate between devices.
The CouchDB user needs read and write access to the database. If the database does not exist, the plugin will try to create it.