Syncline (live sync)
pendingby tomas789
Real-time collaborative editing for your vault using CRDTs.
Vault Sync You Actually Own.
Keep your vault in sync across all devices.
No subscriptions • No cloud lock-in • No third-party servers
You run the server. You own the data. It just works.
Installation • Features • How It Works • FAQ
Why Syncline?
Every other sync option for Obsidian requires you to hand your notes to someone else's servers. Obsidian Sync costs $8/month. iCloud and Dropbox can't merge text edits, so you end up with Note (conflict copy 2).md scattered across your vault.
Syncline runs on your own machine. It stores everything in a single SQLite file. And it uses CRDTs to merge edits at the character level, so two people can edit the same paragraph offline for a week and the result still comes out clean.
| Syncline | Obsidian Sync | iCloud / Dropbox | |
|---|---|---|---|
| You own the data | ✅ | ❌ | ❌ |
| Self-hosted | ✅ | ❌ | ❌ |
| Works offline | ✅ | ✅ | Partial |
| No conflict dialogs | ✅ | ❌ | ❌ |
| Binary file sync | ✅ | ✅ | ✅ |
| Single-file database | ✅ | ❌ | ❌ |
| Subscription required | ❌ | ✅ | ✅ |
Features
Privacy-first. Your notes stay on your infrastructure. A home server, a VPS, a Raspberry Pi sitting in a closet. No telemetry, no analytics.
Single-file storage. The entire vault history lives in one syncline.db file. Back it up by copying that file. Done.
Fast. Written in Rust. Sync happens over WebSockets, so changes show up on other devices in milliseconds.
Offline for as long as you want. Go off-grid for weeks. When you reconnect, Syncline merges everything automatically. No manual conflict resolution, ever.
Character-level merging. Built on CRDTs (the same tech behind Notion and Figma's collaborative editing). Two devices editing the same note at the same time? The edits merge mathematically. You won't see a "conflict file."
Binary files too. Images, PDFs, attachments — all synced. If two devices modify the same binary file offline, both versions are kept with distinct names.
How It Works
Your Laptop Your Server Your Phone
(Obsidian) (Syncline) (Obsidian)
│ │ │
│── edit note ──────►│ │
│ │── push update ────►│
│ │ │
│ (go offline) │ (go offline) │
│── edit note A │ │── edit note A
│ │ │
│ (reconnect) ────►│◄─── (reconnect) ───│
│ │ │
│◄── merged A+B ─────┤──── merged A+B ───►│
│ (no conflicts!) │ │
The server keeps a compact history of changes. When you reconnect after being offline, it sends you only what changed and merges your local edits automatically.
Installation
Step 1: Run the Syncline Server
The quickest option on Mac or Windows is the Syncline Desktop App. It sits in your system tray, manages the database, and gives you the connection URL.
Grab the installer from the Releases Page:
- Mac:
.dmg - Windows:
.msior.nsis.zip
It starts with your computer. Click the menu bar icon → Start Server.
CLI / headless setup: For a Linux VPS or Raspberry Pi where there's no GUI:
# Download the CLI binary from Releases, or build from source:
cargo run -- server --port 3030 --db-path ./syncline.db
Step 2: Install the Plugin
Option A — Community Plugins (recommended)
- Open Obsidian → Settings → Community Plugins
- Search for Syncline
- Install, then Enable
Option B — Manual
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Copy them to
<your-vault>/.obsidian/plugins/syncline-obsidian/ - Reload Obsidian, enable in Settings → Community Plugins
Step 3: Connect
- Settings → Syncline
- Enter your server URL (e.g.
ws://192.168.1.100:3030/syncorwss://sync.yourdomain.com/sync) - Click Connect
Syncing starts immediately. Install the plugin on your other devices and point them to the same server.
FAQ
Do I need the server running 24/7? No. Changes are stored durably in SQLite. If the server's down while you edit, your changes queue locally and sync the next time it's reachable.
What if two devices edit the same note offline? Both sets of edits are merged automatically via CRDTs. You won't lose anything you typed.
What about images and attachments? Fully supported. Binary files sync using content-addressed storage. If two devices modify the same binary file concurrently, both versions are kept with distinct names.
Is my data encrypted? Data travels over WebSockets. For encryption in transit, put the server behind a reverse proxy with TLS (Nginx + Let's Encrypt works well). End-to-end encryption is planned but not yet implemented.
How do I back up?
Copy the syncline.db file. That single file has the full history of your vault.
Mobile support? Yes. The plugin works on both desktop and mobile Obsidian.
Repository
- Main repository: github.com/tomas789/syncline
License
MIT
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.