Syncing Selectively Across Multiple Devices

I have a technical hurdle that I’m struggling to overcome, and wondered if anyone might have ideas on how to do so.

I have a total of four devices on which I use Obsidian:

  • Work Laptop (Windows)
  • Work Phone (iPhone)
  • Personal Phone (iPhone)
  • Personal Laptop (MacBook)

I would like for the work devices to be identical to one another (that is, having access to identical files/settings/plugins etc). And I’d like the personal devices to also be identical.

But I would also like to have a limited subset of files/folders in common between the work/personal devices (templates, snippets, some Zettelkasten type notes, etc.).

Does anyone have an idea about how to get syncing set up this way, where there’s a small core of folders shared across all four devices but where personal devices share all folders in common and work devices share a different set of folders all in common? Obsidian Sync alone doesn’t seem to facilitate this because it allows connecting to only one remote vault at a time.

Wondered if anyone else might have ideas on how to achieve this.

Separate vaults would probably be the simplest way to make it happen, at the cost of some inconvenience.

Or you could perhaps set something up outside of Obsidian to sync the common files between the laptops, which would then sync with the phones. Using 2 sync systems on the same folder is generally bad, but since they won’t both be syncing to the same machines maybe it would be OK? (Don’t try it with iCloud because unfortunately the Windows version play badly with Obsidian. Also anything that uses placeholders and keeps the real file online until you need it will cause problems.)

If the common files don’t change often, maybe you could exclude them from Sync and use git for them?

1 Like

You could achieve this with syncthing. You’ll need to tinker around with the .stignore files and see how it works for each device, and maybe run test cases, but it’s pretty good and works. This comes with the usual disadvantages of syncthing in the sense that it’s peer-to-peer syncing.

If you don’t want that hassle then you should probably do what cawlinteffid said, with Git.

1 Like