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?
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 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 can 2nd that SyncThing works well with KeePass. I have it running on Windows, Android, and a few Debian computers (guys, I use Linux) and I’ve never had an issue. I just checked (and apparently I’m a thug), because I’ve been using “No File Versioning” for years. You may want to opt for any of the available options to err on the side of caution. As long as you’re adamant about syncing any changes ASAP (and not modifying the database on 2 different devices simultaneously), you won’t have issues. Even when I have screwed up (by editing the DB on 2 devices), the KeePassDX client on Android has handled it gracefully and allowed me to merge the conflicts. I also always keep regular backups of my database outside of the whole SyncThing monstrosity (just for worst case scenarios). Cheers mate, give a whirl.
I’ve had a lot of conflicts over the years of doing this but as you say keepass is good at merging. You’d only run into trouble if you change the file in two locations before syncing (file conflict) AND the time was way off on one of them (wrong change applied) AND you have no way of resetting your password.
Okay, finally ran into a conflict that I noticed. Wonder how many passwords I’ve lost throughout the years. I got back the account that was swallowed but I’d much prefer this didn’t happen in the first place. Other than making it a habit to sync (with syncthing) before editing a database it doesn’t seem like there’s a built-in solution for this. The problem is that keypass always performs a two-way sync (sync two files, modify two files). Guess I’ll see how hard it would be to make a one-way sync plugin or if some other variant does one-way.
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 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 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!
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.
It works pretty well. I use a one-way sync from my computer to my phone. I have two-way sync for notes, sometimes that creates conflicts but Synching always saves both versions
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.