Self-hosted Obsidian vault sync for iPhone and iPad.
Your notes sync peer-to-peer over Syncthing, straight into Obsidian's iOS sandbox — no note cloud, no account, no tracking.
- Peer-to-peer & private — syncs directly between your own devices over Syncthing. No note cloud, no account, no tracking.
- Lands in Obsidian — files sync into Obsidian's iOS sandbox, where the app already looks for them.
- Pair by QR, resolve conflicts — connect your server in seconds; settle Markdown conflicts with side-by-side diffs.
- Server changes wake your iPhone — optional Cloud Relay nudges the app the moment your server updates, so incoming notes land even while it's closed. An activity timeline and diagnostics show exactly what synced.
VoiceOver and Dynamic Type throughout. Localized in English, German, Spanish, and Simplified Chinese. Independent project — not affiliated with Obsidian or Syncthing.
Syncthing runs on a machine you keep on; VaultSync joins as a peer and syncs into Obsidian. The optional sidecar + Cloud Relay wake your iPhone when the server changes.
- Install VaultSync from the App Store.
- Pair your server — scan its Syncthing Device ID by QR (or paste it), then accept the connection in that Syncthing instance.
- Sync your vault — VaultSync detects your Obsidian vaults, connects the share, and runs the first sync. Open Obsidian; your notes are there.
- (Optional) Enable Cloud Relay for faster server→iPhone updates — see below.
Without it, VaultSync syncs server changes when you open the app. With it, your iPhone wakes on its own the moment your server changes — even while VaultSync is closed.
Subscribe in the app (monthly or yearly, at your local App Store price), then run this one line on the computer or NAS that runs Syncthing — the app shows it with a Copy button:
curl -fsSL https://vaultsync.eu/notify.sh | shThat's the whole setup — nothing to edit, no API key to copy.
The installer finds your Syncthing config, sets the right permissions, and starts the helper. The helper wakes your iPhone once on startup and VaultSync flips to Cloud Relay active by itself; sending edits from your iPhone stays most reliable with the app open. The relay only ever sees the Device ID and push token needed to route a wake-up — never your notes, file or folder names, or vault structure (PRIVACY.md).
🔧 Manual & advanced setup — Docker Compose, docker run, prebuilt binaries, NAS notes, --dry-run
- Skeptical of
curl | sh? Append-s -- --dry-runto preview every action without changing anything, or read the script first. - Syncthing config in a non-standard place (typical on Synology/QNAP)? Prefix the installer with the path:
curl -fsSL https://vaultsync.eu/notify.sh | SYNCTHING_CONFIG=/path/to/config.xml sh - Prefer to run things yourself? The manual & advanced guide covers Docker Compose, a paste-and-go
docker run, prebuilt binaries for Linux/macOS/Windows, every environment variable, and NAS specifics.
| Requirement | Details |
|---|---|
| iPhone / iPad | iOS / iPadOS 18 or later |
| Obsidian | Installed on iOS / iPadOS |
| Syncthing | Running on a Mac, Linux machine, NAS, or homeserver |
| Cloud Relay | Optional — monthly or yearly in-app subscription |
| vaultsync-notify | Optional Docker sidecar for server-side wake-ups |
Requires Xcode 26+, Go 1.26+, gomobile, XcodeGen, Make.
git clone https://github.com/psimaker/vaultsync.git && cd vaultsync
cd go && make patch && make xcframework && cd .. # Go xcframework (~160 MB, bundles Syncthing)
cd ios && xcodegen generate && open VaultSync.xcodeprojFull build, signing, and test steps: docs/setup.md.
| Platform | iOS / iPadOS 18+ |
| Language | Swift 6, SwiftUI |
| Sync engine | Syncthing 2.x via Go/gomobile .xcframework |
| Background | BGAppRefreshTask + BGContinuedProcessingTask (iOS 26+ when available) |
| Push | APNs silent push via Cloud Relay |
| License | MPL-2.0 |
| Doc | What it covers |
|---|---|
| docs/setup.md | Build and development setup |
| docs/troubleshooting.md | Common failures and exact fixes |
| docs/architecture.md | Codebase structure and sync strategy |
| docs/relay-spec.md | Cloud Relay protocol reference |
| docs/instant-upload.md | Instant iPhone → server uploads via a Shortcuts automation |
| notify/README.md | Notify sidecar setup and diagnostics |
| PRIVACY.md · TERMS.md | Privacy policy and license terms |
Filing a bug? Include your iOS and VaultSync versions, your server's Syncthing version, whether Cloud Relay and vaultsync-notify are running, and relevant logs or screenshots.
MPL-2.0 — use, modify, and distribute under the Mozilla Public License 2.0.
Built on Syncthing (the file-sync engine) and gomobile (which embeds it on iOS), for Obsidian. VaultSync is independent and not affiliated with, endorsed by, or sponsored by Obsidian or Syncthing.