How to use Syncthing: tested guides
Syncthing keeps folders in sync between your own devices without a cloud server in the middle. Each guide below comes from forcing the situation on test instances and recording what Syncthing actually did.
The tests ran on Syncthing v2.1.5 on macOS 15.3.1. Where two devices were needed, they were two instances on one Mac with discovery and relays turned off. The upgrade guide started from v1.30.0, the last v1 release.
The short versions of what we found: Revert Local Changes on a Receive Only folder deletes the files you added there, and they survive only if file versioning is on. The device ID in a sync-conflict file name belongs to the device whose version won. .stignore is never synced, so each device needs its own. A GUI password reset done while Syncthing is running can undo itself, and existing logins survive the reset. After upgrading to v2, going back to v1 fails unless you force it, and then v1 rebuilds its database from scratch.
-
Syncthing Conflict Files and .stignore (v2.1.5)
We forced 8 conflict and ignore cases on Syncthing v2.1.5: the ID in a sync-conflict name is the winner's, .stignore never syncs, maxConflicts=0 loses edits.
Fix -
Syncthing v1 to v2 Upgrade: What Changes on Disk
Syncthing v1.30.0 to v2.1.5: the SQLite migration runs by itself, the old database is kept, v1 refuses to start afterwards, v1 and v2 devices still sync.
Advanced -
Reset a Forgotten Syncthing GUI Password (v2.1.5)
Forgot your Syncthing GUI password? It can't be recovered, but you can reset it in a minute: stop Syncthing, run syncthing generate, restart. Tested v2.1.5.
Fix -
Syncthing "Revert Local Changes": What It Deletes
On a Receive Only folder, Revert Local Changes deletes files you added. Versioning off: gone for good. Simple File Versioning on: kept in .stversions.
Fix