Syncthing checklist
For a local-first Obsidian vault that you can sync over Tailscale when needed.
For a local-first Obsidian vault that you can sync over Tailscale when needed.
Syncthing + Git Setup Checklist for Obsidian
Recommended path: local vaults on each device, synced privately; no public share required.
Use Syncthing for continuous device sync and Gitea for an extra Git backup/sync path when that is useful.
Before you start
- ☐ Choose the canonical vault folder name and keep it stable.
- ☐ Back up the vault before making sync changes.
- ☐ Decide which devices participate: desktop, laptop, tablet, phone, home box.
- ☐ Turn on Tailscale on the home machine and any remote devices when pairing or troubleshooting.
- ☐ Decide whether you want a single source of truth or equal peers. For Obsidian, equal peers are usually fine.
Install the tools
- ☐ Install Obsidian on every device that will edit the vault.
- ☐ Install Syncthing on every device that will hold a copy of the vault.
- ☐ Install Git on every device that will commit to the vault.
- ☐ Make sure the devices can reach one another over Tailscale before trusting discovery.
- ☐ Keep the Syncthing UI reachable only over LAN/Tailscale.
Create the vault layout
- ☐ Create the vault folder on the primary device.
- ☐ Put notes and attachments inside the vault so links remain portable.
- ☐ Keep the vault path simple and consistent across devices.
- ☐ Avoid mixing unrelated data into the same folder.
Configure Syncthing
- ☐ Add the vault folder to Syncthing on the primary device.
- ☐ Share that folder with each other device you want to use.
- ☐ On each receiving device, choose the same local path for the vault.
- ☐ Pick a folder type that allows editing on all participating devices.
- ☐ Enable versioning on at least one always-on machine so you have a rollback path.
- ☐ Confirm file permissions look sane after the first sync.
Configure Git for Gitea
- ☐ Create a private repo on your Gitea server at
git.local.grasfer.com. - ☐ Decide whether you will use SSH or HTTPS for the remote.
- ☐ If you use SSH, add your public key to Gitea and test the SSH connection.
- ☐ If you use HTTPS, create a token/password method you are comfortable with.
- ☐ Initialize Git in the vault and make the first commit.
- ☐ Add the Gitea remote and push the initial branch.
- ☐ Confirm the repo is private and only visible to the intended account.
Recommended file rules
- ☐ Decide whether to sync `.obsidian/workspace*` files.
- ☐ If you want device-specific UI layout, exclude workspace files.
- ☐ Usually keep `.obsidian/` settings, plugins, themes, and snippets in sync.
- ☐ Exclude caches and temporary junk if they appear.
- ☐ Keep attachments in a folder you are happy to sync everywhere.
Tailscale posture
- ☐ Use Tailscale as the private path for setup, resyncing, and debugging.
- ☐ Do not expose Syncthing or the vault directly to the public internet.
- ☐ If you need remote pairing, connect both devices to the same tailnet first.
- ☐ If a device is not on the local network, use Tailscale rather than opening extra ports.
Test the sync
- ☐ Create a tiny test note on the primary device.
- ☐ Wait for Syncthing to report the folder as up to date.
- ☐ Open the note on a second device and confirm the content matches.
- ☐ Edit the note on one device and verify the change propagates cleanly.
- ☐ Check that timestamps and attachments survive the trip.
- ☐ Verify that Obsidian opens the vault normally on every device.
Test the Git path
- ☐ Make a small note change and commit it locally.
- ☐ Push the change to Gitea.
- ☐ Pull the repo on another device and confirm the change appears.
- ☐ Verify Git ignores generated junk and only tracks the note content you want.
- ☐ If you use both Git and Syncthing, confirm they do not fight over the same files.
Conflict and recovery checklist
- ☐ Make sure at least one device keeps version history.
- ☐ Decide how you want to resolve simultaneous offline edits before they happen.
- ☐ Keep the backup from before setup until you’ve tested restores.
- ☐ If a note forks, reconcile it before you do much more editing.
- ☐ Decide whether Git is the backup path and Syncthing the live sync path, or the other way around.
Nice-to-have follow-ups
- ☐ Add the vault to your Obsidian wiki MOC/index once it’s stable.
- ☐ If you use mobile, verify the mobile sync path separately.
- ☐ Document the chosen ignore rules so you don’t have to remember them later.
- ☐ Keep the Syncthing instance name and device labels readable.
- ☐ Keep the Gitea remote name and branch naming consistent across devices.
Quick sanity check
If all of these are true, you’re in good shape:
- ☑ Vault lives locally on each device.
- ☑ Syncthing syncs only to your devices.
- ☑ Gitea is reachable privately at
git.local.grasfer.com. - ☑ Tailscale is available for private remote access.
- ☑ The vault opens normally in Obsidian everywhere.
- ☑ You can recover from a bad change with versioning or backup.
If you want, I can turn this into a device-by-device checklist next: desktop, laptop, and phone.