Custom sync for Obsidian
Obsidian Git
The first attempt was to use the Obsidian Git extension. I faced several issues:
- I tried this when I was still using my brother's iPad and wasn't integrated into the Apple ecosystem. Experimented with a few apps to have Git work on iOS / iPad OS but most were paid and were not worth the effort.
- There was no file watching system, only a ~5-15min cronjob that would periodically watch files and commit to a private repo. This cluttered my commits.
- Sometimes the automatic pushes after writing don't go through and the files don't get saved.
Syncthing
Probably the best previous attempt was with Syncthing. Worked well between 1 or 2 devices.
Setup: minimart
as the single source of truth, a Receive-only node, Introducer and Auto-accept. Hosted on port 8384
within the local network, so it would require VPN access outside.
Important thing is to also include files to ignore (especially macOS-only dotfiles) while allowing the .obsidian
and other dotfiles.
First version was between CARBON <-> ALMAL. Not many merge conflicts.
Afterwards, when UNDERLORD and eventually MOCHI came into the system, that was when the merge conflict hell of plugin settings became a thing (I was using ~30 community plugins). Retired to move to Obsidian Sync (not too expensive with education discount).