johnhom41 downloadsSync your vault with a self-hosted OWiki server via WebSocket.
Multi-device sync plugin for Obsidian
Sync notes across devices · Your notes only travel through your own server · Offline changes are never lost · Desktop & mobile
English · 中文
[!WARNING] Experimental software: both this plugin and the OWiki server are in an early experimental stage. The sync logic has not been validated at scale, and edge cases may cause note data loss or corruption. Back up your vault before connecting (keep a full copy independent of the sync pipeline). We are not responsible for any data loss caused by using this plugin (see the MIT LICENSE).
xxx.conflict.md copies — your local file is never silently overwrittenThree steps: deploy the server → install the plugin → connect.
This plugin ships without a server. Deploy OWiki first (one container or a single binary):
docker run -d --name owiki \
-p 8787:8787 \
-e OWIKI_TOKEN=<sync-token> \
-e OWIKI_ADMIN_USER=admin \
-e OWIKI_ADMIN_PASSWORD=<strong-password> \
-v ./owiki-data:/data \
johnhom1024/owiki:latest
Open http://<server>:8787 in a browser, sign in, and create a vault in the web console to get a sync token.
From the community directory (once listed): Obsidian → Settings → Community plugins → Browse → search for owiki-sync
Manual: download main.js, manifest.json, and styles.css from Releases and drop them into:
<your-vault>/.obsidian/plugins/owiki-sync/
Install the BRAT plugin, add johnhom1024/owiki-sync as a beta plugin in its settings, and you'll get the plugin — plus automatic updates with every GitHub release — before the official listing goes live.
The status bar shows connection state and sync progress in real time; the settings page lists authorized devices and the sync log.
pnpm install
pnpm build # production build (minified)
pnpm typecheck # type checking
For deploying to a local vault, see TESTING.md (in Chinese).