I recently switched my desktop to Linux mint. Overall it seems to work well for me. The one exception is that my password manager, Keepass, won’t work. I currently use Gdrive to sync the database between devices. It works very well for this purpose. Is there another way I can sync this file as seemlessly as Gdrive? It would to work for an Android phone and Mint PC.
I actually do this with a self hosted nextcloud instance.
Mailbox.org with WebDAV. The classical Keepass runs on Linux (although it does not look nice). On Android you can use Kepass2Android.
I felt really dumb when I realized you weren’t syncing a “keep ass” database. Thought it was some trendy next gen database created by someone who really dgaf.
I’ve been using nextcloud for years for this. Using Android and Linux and Windows.
If most of your passwords are actually for Websites, Firefox has Profile letting you manage passwords across devices.
if you don’t mind a self-hosted alternative, I use dufs. It is barebones so some understanding of hosting services is required
SyncThing
Seconded. Great bit of software.
The downside is that if a device you aren’t online with modifies it, and doesn’t reconnect to the internet or even LAN that the other client is on, other clients will be out of date and potentially cause file syncing/overwriting issues.
But SyncThing is a good tool for this.
Is offline file editing an issue with all file syncing tools?
I’ve been using Syncthing for a year or so and not noticed that it’s any worse or better at this than GDrive or Dropbox
For a password manager, I’m not sure if this is an issue since I’m only changing the database file while connected to the internet. Am I overlooking something?
SyncThing only syncs when both devices are online at the same time.
So a comon scenario is: You change the DB on your laptop, then shut it down. You open the DB on your desktop. Since the lapotp isn’t online at the same time, you are working with the old DB version. If you change it, you have two competing versions.
I don’t know exactly what happens then; I’m facing it and am procrastinating dealing with it ^^
It creates a sync conflict file, so the data is there but the two differing versions aren’t automatically resolved.
One way out of this is to either have it on a server that’s always connected (less common) or to just have it on your phone. That way you have an intermediary that syncs the changes.
Keepass 2 / Keepass XC actually has a function for this case and does pretty well in merging the two conflicting versions of the database.
That sync will be resolved by syncthing’s logic. It will probably result in lost data.
I would suggest an app that does its own sync logic, like vaultwarden. That way, the client can update the database when it’s back online, instead of an external sync replacing the whole database file.
Synching will create a conflict file when this happens. Nothing is lost but a user must look out for these files and merge manually.
KeepassXC has its own merge logic and will happily absorb changes to a file on disk whilst open. However if two offline machines both change a database then you will get a conflict file and will have to ask keepass to merge them.
Ahh this makes sense
It should work for you! Especially if you are connected to the internet. But of course, wanted to bring up the one flaw I could think of up in case it would be an issue for you.
KeePass(XC & 2Android) has a really excellent merge algorithm. I rarely have issues wiþ merging, but yeah - you do have to watch out for sync files and merge DBs ASAP.
I’m not sure how Drive would address þis, þough. Any conflicting, offline change is going to cause a conflict, and only KeePass knows how to merge DB conflicts.
I personally opted for a self hosted instance of Vaultwarden myself.
I’m surprised no one recommended syncthing.
Syncthing lets you sync changes on any folder/drive across multiple devices via the local network - no cloud needed. I currently use it for my keepass database, Music folder and Documents folder. It’s als very simple to set up.
Only downside to this is that if your house burns down you’ll lose everything - but a friend suggested me to have important files on an encrypted tarball stored in the cloud.
Second Syncthing, it is very fast, reliable, and flexible.
I used it coming from FileSync and Dropbox, and I had to change the way I thought about my shared folders to architect a good system for me. Eg: each root shared folder should serve a particular function that determines which devices it should be shared to (does this share need to be accessible in your phone? Laptop? PC? NAS?).
FYI you can set up untrusted peer sync to have your files all synching to another device (SFF device at your friend or relatives house, or a cloud server). That eliminates the concern of your house burning down, while keeping all of your Syncthing data secure and not worrying about it being stolen or accessed. If your house burns down you can connect back to the untrusted peer sync, put in your passphrase, and your data will all return.
The amount of headaches I had setting this up… I can’t tell you how hard I tried.
I think in the end I figured out it doesn’t like vlans very much if you don’t want to use their relay.
In the case of house burn down, because Syncthing stores a 1-1 copy of the folder on every device in the network, you would still have your data even a single device survives the incident, such as a phone, or a laptop
I have syncthinged my desktop (Mint as well) and my smartphone with a Raspberry Pi (DietPi!) as middledevice. If I change something on one of the two, the file gets synched to the Raspi, which then gives it to the other device as soon as it’s online. This works great since a couple of years.
Only downside to this is that if your house burns down you’ll lose everything - but a friend suggested me to have important files on an encrypted tarball stored in the cloud.
For those with lots of files and poor upload speeds but blessed with a desk at work, also consider stashing an encrypted disk in a drawer / fake plant / etc.
I use rclone run by crontab.
Thanks to everyone recommending Syncthing. I just set that up on all my devices and it’s pretty much purpose built for what I’m doing. A little bit fidly to set up but not that bad and it seems to just work now.
Foldersync was my move before I switched to a custom ROM, it’s proprietary but reliable and not expensive.
I used to use Filen for this, but it never worked very well. The file provider path it returned to Keepass2android was only temporary, so it would break periodically. Did Filen change how that works?
I eventually started using Syncthing instead. I connect to my home wi-fi often enough that it’s never too far out of sync with my home PC. And since it’s a local file, there’s no issue with using absolute paths.
Resilio Sync
I sync using jottacloud (given that I use the database on my smartphone in a read only fashion)
There is a CLI for linux.
What do you mean Keepass doesn’t work? https://keepassxc.org/ comes as Flatpak.
Keepass works but you need a way to sync the database file between devices. This is the part that doesn’t work.
Syncthing is an option on the desktop side and it works with Syncthing-Fork on Android. It takes a bit of setting up, but I’ve been using a setup like this for years now.