I had to get a new phone, so decided to try Syncthing instead of Dropbox for syncing stuff like password files between devices. Seems to be working great:
I’ve been using Syncthing for about a year now synchronizing my laptop that travels to the office with me and my desktop which I prefer to work on while I’m at home since it has significantly more resources. It has made my life very easy keeping these two machines synchronized, however, it’s taken some effort to get the ignore patterns right, especially for build environments.
These are the ignore patterns I use for my SSD that holds all of my Yoe builds:
**build
**buildhistory
**cache
**SDK
**sysroots
I’ve been looking through different websites, but I haven’t found where anyone has created a “developer’s list of ignore patterns”. If anyone knows of a good starting point, please share, if not, maybe we should create one?
Still using Password Gorilla (and have for years), but I’m concurrently trying KeePassXC because it allows me to store TOTP keys. When used carefully, this allows me to use multiple devices to unlock accounts that use two factor authentication. I needed to drop Google Authenticator because it doesn’t easily allow you to sync with other devices… and I want to employ Syncthing for the sync.
Anyway, glad to see you have kicked the tires on Syncthing. It’s pretty great.
KeePassXC looks pretty nice! What do you use TOTP keys for?
Does KeePassXC support a tree of password entries (multi-level), vs just a single level of groups? That is one thing I really like about pwsafe/gorilla that I have not found in other password managers (like bitwarden). Often I’ll have something like customer->server->app->accounts. With a single level of groups, it is difficult to organize things like this.
So, I had this same question – is 3-way sync possible?
I was wondering if a three-way peer->peer config is safe?, e.g. each node is in two sync with the other two nodes
A <-> B & C
B <-> A & C
C <-> A & B
Syncthing handles this.
For example, I have my stuff shared across three devices: homePC, phone and laptop. If I change something on homePC, and phone picks it up, the phone then can propagate those changes to my laptop, even if homePC isn’t on anymore when I turn on the laptop.
Now, if I turn off my phone, and delete the file from laptop, homePC will also delete it.
In this scenarios, all devices are in the Send/Receive mode, which I believe is the default on all platforms.
So this is pretty neat – if I take my phone and laptop traveling, they can stay in sync. When I get home, then they will sync to the office workstation.
I really like Syncthing so far – in this age of cheap disk space, it is often easier to sync than share files. In the past, we have maintained a shared “fileserver” using sshfs. However, fileservers are fraught with file permission problems. Lately, I’ve been reorganizing stuff a bit and simply sharing stuff with Syncthing. One benefit of this is you get some redundancy. Another benefit is that files are local, so things always work and it is always fast.
The new “fileserver” model is going well. Each toplevel directory on the fileserver is a separate syncthing share and then shared with devices that need access to those files:
no VPN needed to access files when out of the office – they are local
the “fileserver” does not need to be running all the time, as things get sync’d next time it is up. We can power if off at night, etc.
the “fileserver” can be rebooted any time without disrupting the work of others.
we are not dependent on the network working 100% of the time.
working with local files (especially media) is nice as everything is fast.
There are likely some datasets where it does not make sense to replicate data (ex: video), but for most other forms of data that humans create and use (documents, photos, music, etc), replication works just fine.