I’ve been using Dropbox to sync my KeePass database for years, but I want to switch to Syncthing. My only concern is losing a password due to file versioning. Usually if I have KeePass open on both my phone and PC, there will be a conflict when saving to database, so Dropbox creates a conflicted copy. In some cases that means that I have to merge those databases but I don’t lose the password.
What file versioning option should I be using in Syncthing? Should I be worried about losing a password due to conflicted file?
I use the Simple file versioning on both sides, and since the files are small I tell em to keep like 20 versions.
It works just like you describe it does with Dropox. If there’s a conflict you get a sync conflict file, then you just open Keepass and ask it to merge the two databases.I do this with 4 different devices and it just works. I wouldn’t leave the vault file open on any device I’m not actively using though.
Keepass XC (Windows) has a setting “automatically reopen the database when modified externally”. If the file is open and Syncthing updates it from somewhere else, it should open the new file and prompt for the password again.
i use keeweb instead of syncthing and host the file on dropbox.
ive never gotten conflicts this way.
i use a certificate and a basic password to decrypt.
It works surprisingly well. As long as you don’t update both databases offline, that is. In that case there will be a conflicted copy :)
I have not encountered this problem yet, I use the keepass database synced on my phone and 3 other computers.
I do this and it’s pretty smooth.
If you conflict by saving in both locations it will sync one as an alternate filename so you don’t lose anything and can resolve it manually.
I also run it on my NAS, and my NAS folder has versioned backup on it… So even if I do mess it up by deleting it, i can recover it.
I use it with nextcloud and sync through that. Keepass handles the conflict thing, not Dropbox, so you’ll get that on any tool. I sometimes get these and just diff the files to find the differences.
I used to do this with both ResilioSync and SyncThing. Instead of directly loading the synced database file in keepass you need to enable database sync, which should merge your remote and local files a bit easier. You’ll also want to create a trigger in keepass that syncs the database whenever anything is modified, as described here.
EDIT: Forgot to add, Syncthing has several versioning methods as well, so make sure to check those out!