It's been working very well for me, I completely replaced Dropbox, and on the VPS/phones [0] as well.
The only slow bit I know of is when it's initially syncing too many files (e.g. tens of thousands). Even if they are tiny, it takes a while. I suspect it has something to do with the index serialization, but also there is a maxConcurrentWrites setting which is 2 by default -- perhaps on an SSD this is an unreasonably low default? Not sure.
Is it possible that you didn't have inotify enabled (fsWatcherEnabled)? There is also fsWatcherDelayS [0] setting (10 by default), which groups changes to avoid excessive sync operations, so it might be percieved as latency.
Three laptops on the same wifi router all talking to each other at once can be very problematic, especially if it's an inexpensive consumer router with one radio. Only one device can shout into the wifi ether at once and the protocol has backoffs to make sure multiple devices don't clobber each other by talking at the same time. Add on top of that other backoff strategies in higher level protocols like in TCP and you can have abysmally slow connections for anything.
I set up Syncthing for my dad a few weeks ago, between his PC and his laptop. At first the sync was incredibly slow, and it turned out Windows on both machines though the local network was a public one, so they weren't talking directly to each other but through a relay out on the internet. I fixed that and it got 15-20 times faster. Maybe you have the same problem?
When I was syncing over mobile hotspot (LAN) on 2.4GHz, speeds weren't impressive. But then I got a 5GHz router with 3 devices and there is sufficient bandwidth. I share ~120GB of total data, spread across ~20 directories, largest being WhatsApp media backup with thousands of crappy low-quality photos. If I wait over a week, I easily accumulate more than a GB of data and it syncs in few minutes at most. Absolutely robust, and zero friction.
It is for syncing files, not transferring or serving them. I don’t think it’s really possible to make an iOS app for Syncthing. It’s not like there’s a Dropbox client for iOS that does actual folder sync.
If you are looking to fully replace Dropbox, you need a server to serve files off of that you can access from the Internet. You could do this using a NAS running Syncthing for example. (There’s at least a couple different ways to get it working on a Synology NAS.) That way, you could have a CIFS or WebDAV share to actually browse from mobile devices.
It works great on Android. It's completely replaced my use of Google Photos and OneDrive (except for the rare use of sharing photos), and I keep local copies of everything. Phones these days have oodles of storage, so why not? (my phone has 256 GB internal storage, plus a microSD card slot which can more than double that).
I'm just trying it out and it seems not, iOS doesn't expose the photos folder to the app.
My workaround for this has been to install iCloud on a Windows machine which then downloads all the photos from my phone, and Syncthing on Windows monitors the iCloud folder and shares it with a Linux machine that does my backups. A bit convoluted but it works.
You can probably use icloudpd [1] to consolidate that on just a Linux machine, as I'm (more or less) doing now. I'm saying more or less because we ran out of iCloud space, I still don't want to delte forever old photos from iCloud but I should probably do it.
Thanks, looks like I've already starred this project on github, but I can't remember why I'm not using it... I think maybe the auth token expires every few weeks and you need some manual intervention to get it working again.
Unfortunately I don't think so. Apple walls off those photos very effectively. I gave up trying to sync those, and instead use an app called Copy That to get them off the phone and onto a SAMBA share on my network.
I've never had an iOS device, but does it even have a concept of a 'file system' exposed to the user? Presumably if the app existed, you could only view the files inside the 'syncthing' app, but other apps won't be able to read its data?
iOS does in-fact have a sort-of file system. It’s heavily tied to iCloud and I don’t think it’s really meant for sync thing style files. But it’s not like drop box is much different in this regard.
I've been using syncthing for more than 3 years, and it's been just amazing. It replaced dropbox for me completely, and provides a better experience in all aspects - speed, stability, low power usage on mobile.
Syncthing is more of a synchronization tool and less of a backup tool. For e.g., if I screwed up a file on one machine, that will automatically be replicated to other machines. Dropbox, on the other hand, "can" be used as a backup tool because I can go and recover an older version if I want.
I do know that Syncthing has a way to keep older file versions around for awhile but I find that a bit cumbersome to use, especially during restore.
So, I am curious to understand more on how you use Syncthing as a replacement to Dropbox. (I'd love to do the same but don't for reasons I wrote above.)
I don't see why should Syncthing be a complete replacement for Dropbox (Unix principles blah blah blah). It's probably not hard to set up a periodic backup (for example, Borg) on one of the replicated machines. At home, I replicate everything on my phone and netbook to a (bigger) desktop machine, so I could just add a periodic backup job there.
I love syncthing, but one thing which I think it does not quite do right is - on my Windows desktop each time desktop is resumed from sleep or reboot, it performs full sync by scanning everything. It takes all the CPU for awhile until syncthing settles down. I am not sure if this problem is Windows specific though.
'gnufied mentioned a Windows desktop so the biggest problem would be noise, but what about portable Windows devices?
My secondary computer is a Windows 2-in-1. It's frequently running on battery power, and during that time, I often wake it up, check something, and put it back to sleep - all in a minute or less, repeated a dozen times an hour. If each time I turn the screen on Syncthing is going to run at full throttle for a minute or more, it'll drastically cut the effective work-on-battery time.
(This article popping up on HN reminded me that I wanted to check Syncthing out. But what 'gnufied described is a total deal breaker for me, so I'm not going to bother for now.)
Even worse if you're trying to sync a file that might be actively changed while syncing - syncthing will reread the entire file as soon as only a few kilobytes are changed. On a file >10GiB this quickly leads to a death spiral of IO and CPU starvation.
I love Syncthing. I have abysmally slow home internet, so any cloud storage service simply takes too long to sync, and trying to do the first sync of 150 GB takes many weeks. Besides, none of these services (dropbox, onedrive) support ignore files, so they're constantly syncing node_modules folders, etc.
Instead, I have Syncthing set to sync a half-dozen folders (Pictures, desktop, documents, audiobooks, etc.) between my phone, laptop, and desktop over the local network. In total, I sync more than 150 GB of files and it works almost instantly and seamlessly. I use the SyncTrayzor GUI for Windows and the Syncthing app for Android. The Android app occasionally needs to be restarted manually, but that's the only problem I've had with it.
Importantly, I keep local copies of everything on all of my devices, including my phone (256 GB storage plus a microSD card slot which I have yet to need). Lack of support for Syncthing on iPhones is one major reason I stick with Android, even though there's a lot to like about the platform. Once it gets too big I'll move a bunch of old stuff to backup/archive drives, but I don't expect that to happen for a while.
Now, I use Google Photos to selectively share photos with others, and that's it.
Dropbox has the ability to ignore files/folders: https://help.dropbox.com/files-folders/restore-delete/ignore...
It's not exactly the most user-friendly method, and you have to run a script to do that consistently for generated files/folders like those from npm
So they advertise, but I'm a long time dropbox user and every time I needed to sync to a new device in my local network, with all firewalls disabled and lan sync enabled...crickets.
Seriously though, this can't possibly be THAT much more difficult than fragile attributes on a filesystem node. If someone at Dropbox is reading: please, I beg of you.
It works great. And what I really like: when you have already bought the pro version and go to the buying dialog again, they tell you that paying them once is enough and to maybe donate to the SyncThing project itself.
The recently release 1.16.1 supports the first beta of untrusted nodes, aka nodes that will sync data but don't know what it is, as it is encrypted with a passphrase you set.
so drop off an old machine at your parents / buddies / exs house, give it internet connection and cron some updates + reboots + power on after an outage and boom, if your house and all your devices burn down, you can get your files via decrypting with that password you saved to your email / password manager.
I love Syncthing and it's replaced Dropbox and Microsoft 365 for me. ok i keep the latter for online dictation when I'm not near a pc with dragon installed on it, but still, I don't need to trust MS with my data in their cloud.
IIRC, sync thing has an option for a “trash folder” where deleted files after syncing can go. It’s not quite full backup, but it also lets you recover files for some period of time.
Edit: actually it’s the .stversions that I was thinking of. Deleted versions can go there.
I think it's also possible to tell Syncthing to sync file adds/updates but not deletes. I wouldn't trust it 100% with my files, though, probably still a good idea to manually take regular backups to an external hard drive or something.
The best thing I can say about Syncthing is that after having set it up, I almost never have to think about it. It just works, and my files are always where I need them to be.
>It’s amazing how great computer products can be when they don’t need to deal with corporate bullshit, don’t have to promote a brand or to sell its users.
i love syncthing. but it is difficult to make backups from my phone where i need the ability to delete files that take up to much space, but that i want to keep on the backup.
there is a function to ignore deletes, but it is hidden in the advanced settings which are difficult to access (some of those advanced settings should be hidden, but ignore delete is not one of them i think)
another thing i miss is an easy ability to see if all files have been sent. currently the status only shows if all files from the remote device are received, but i care more if all local files are sent (and thus backed up)
When you set up a folder to sync, you can choose the 'Folder Type' under the 'Advanced' tab. This sets up that folder to do bi-directional sync or not.
that does not matter, backup should sync files from the phone to the backup-device. it should not sync deletes from the phone to the backup-device. but uni-directional still syncs both, only ignoring delete on the backup-device prevents syncing deletes.
the point is that it's complicated and the 'ignore delete' is easily missed. also because it is not shown in the status. so every time i have to wonder, did i set this up correctly?
and i have to check the status on both the phone and the backup-device to make sure all is right.
when i want to delete something on the phone i have to check on the backup-device to make sure that the file is backed up. because the phones status does not tell me that. it only tells me whether it downloaded everything from other devices which is less usefull, i can see which files are on the phone anyways. i can't see what's been uploaded to the backup-device unless i go look.
just the other day i realized that for a new folder i had not set up ignore-delete. luckily, because i am paranoid, i made a hard-link duplicate of the backup before starting to delete files on the phone.
there is an alternative way, make the sync regular bidirectional but on server have a Cron job that archives(moves to a different directory) backup files that are no longer needed on local devices
doesn't work for me, because the cron job doesn't know when i no longer need the file on the phone.
if i sync deletes from the backup device to the phone then a cron job to move files would potentially cause files to be removed from the phone before i am done with them.
rsync would cause the files to be duplicated (although i could still hardlink using rsync)
Hmm, what if you use a special directory where you could move the files on your phone once you don't need them? And then the cron job would move stuff from that directory
ah for rsync I meant with --remove-source-files flag -- it's just sometimes rsync is easier to use than move, depending on the hierarchy of your files
from the phone i want the files synced to the backup as soon as they are created. if i only sync those that i don't need then the once i do need never get synced.
unles you mean to sync first, then move files i want to keep on the backup only out of the way and rsync --remove-source-files those files again.
the problem with that is that when i do remove files on the phone, then it's because i need the space. at which point i don't want to wait.
syncthing does what i want. that is not the problem. them problem is only that it is easy to forget to set up ignore-delete, and that it's hard to monitor the sync status of the backup from the phone.
i appreciate the suggestions, but they don't really do much to help my case. what is really needed is an improvement of the syncthing UI and in particular a redesign of the way the status is handled.
for my backup maybe i'll set up an rsync with hard-links to create a second version of all files which protects them from accidental deletion.
How I do this:
* Create a unidirectional push only sync between the phone and a remote
* Remote has a cron that syncs to backblaze regularly, and deletes from the server (this does not affect the phone)
* Delete from the phone whenever I want
Hm, I just move them on my laptop from ~/Phone/DCIM/ to ~/Pictures/fromPhone/ (where only the first dir is synced with the phone). I can't go through stuff on my phone and move from there, but I find it faster to go through pictures and videos on my laptop anyway …
I used Resilio fairly unhappily for years and their Mac client would incessantly lock up and they've never fixed it.
Switched to Syncthing something like 2 years ago and it has been solid for me across Mac and Linux so far.
And I do moderately crazy things like using it to sync git repos to create replicas across multiple machines instead of manually using git across 5 machines and a hundred or so repos.
Only complaint is that initial synchronization is really slow.
> And I do moderately crazy things like using it to sync git repos to create replicas across multiple machines instead of manually using git across 5 machines and a hundred or so repos.
You could set up your own git remote for this, Gitea is all the rage I've heard. But git remotes can be implemented many ways, no need for a dedicated server running.
It's much easier in syncthing, you don't have to remember to commit/push etc. Works really well as long as you don't change the repos too often so index conflicts don't happen (but even if they do, worst case you just lose index state)
The cool thing about Syncthing is their public network of community provided relay servers https://relays.syncthing.net/
When two devices can't find each other on the local network they look for each other on public discovery servers and then pick a community provided relay to connect. The data is end-to-end encrypted between both devices, so the relay doesn't see the file contents. This works out of the box on almost all networks. Unfortunately IPv6 doesn't seem to work with their public relay network though...
Once the devices have discovered each other is it necessary for the traffic to pass through syncthing servers. Once each end has discovered the address:port of the other, then the devices can connect directly. I use a different peer-to-peer solution, older than syncthing and open source, and it does not send traffic through a supernode by default, it only uses the supernode for discovery.
The use case of IPv6 relays isn't that strong to be honest. You don't have to deal with NAT and Syncthing can use UDP hole punching if the firewall doesn't completely block outgoing UDP traffic.
Been really liking Syncthing, mostly moved off of Dropbox to it. I've noticed recently that Dropbox is very slow at resyncing when waking from sleep (on Linux, at least), taking easily 5-10 minutes or something much longer before it realizing it is out of sync. On the other hand Syncthing is about as quick as anything once network connection is restored. It is syncing on a local network, but Dropbox used to be as quick, too. Another reason I'm glad I've switched.
It does not support [0] (i.e. loses) extended attributes even between systems that share support for them, which in the case of macOS means no support for Finder tags, custom icons, legacy Mac fonts and countless other Mac features, maybe niche to most, but still important to those that make use of them. AFAIK it is not even in the roadmap.
I agree this is annoying—but isn't it par for the course? OneDrive does the same thing. Is Dropbox better?
The thing that really annoyed me was that SyncThing synced .DS_Store files, leading to tons of unnecessary transfers and conflicts. They could be excluded via ignore patterns, but those patterns needed to be added to every folder—there was no global option. To fix this, I had to edit the code and create my own custom SyncThing build.
Dropbox supports xattr transparently and fully AFAIK (Finder icons, Finder comments, Finder tags, legacy Mac fonts… all sync fine from my experience).
Resilio Sync says it does partially [0] but IMHO not to an acceptable level (it keeps Finder tags for instance but loses Finder icons and completely cripples legacy Mac Fonts).
Note that .DS_Store files are another different thing altogether. They are standard files storing the view state of their parent folder (and, incidentally, Dropbox does not sync them [1] and Resilio Sync is set to not sync them by default).
User for about 3 years, after I left Dropbox (they incorrectly tagged a shared file as copyright-infringing - it was a bit too invasive for comfort).
I sync about 8TiB between 10+ devices, ranging from tablets and TV to desktops and laptops.
Since relatively recently, they also solved case (in)sensitive file names, which used to be a pita when changing file name casing only, but that’s all history now. Big fan!
> they incorrectly tagged a shared file as copyright-infringing - it was a bit too invasive for comfort
OneDrive also opens all uploaded pictures and automatically tags them based on the visible content. As long as an online service doesn't offer end-to-end encryption it's a safe bet that they'll read all your files (famously leading to the Google Drive-based DDOS attack scheme[0]).
I love the idea of Syncthing (p2p, hell yes), but besides wishing for a “streaming”/“on demand” mode (only downloading a file from a node when you need it, basically Syncthing lite but in the official project, eventually evolving into a mixed mode with local and remote files besides each other) it just ... doesn’t work that well for me. Initially it kind of works but doesn’t saturate the network connection, then after a while it just doesn’t do anything anymore. The web interface doesn’t provide much information about what’s happening.
I tried it with multiple different devices and know someone who has the same problem. At the same time I know many people it works flawlessly for. Has anyone else had a similar experience?
I've had the same problem with Syncthing between Android mobile and desktop. Either devices don't see each other, or if I manage to sync one folder it synchronizes once and it never does anything again.
I've switched to KDE Connect for manually transferring files from the phone (it can't be scheduled on Windows as far as I'm aware, but at least it works every time).
I love syncthing. The best sync tool so far. I use it to sync between my phone, laptop and a VM. However, there are some annoying things:
- Frequently I get sync conflicts, although I always edit file only on one host.
- Sync is not triggered automatically, but based on the schedule interval. If I need synced files immediately, I need to open the control UI and force rescan of files.
Absolutely love syncthing, and migrated to it after using Seafile for several years. I also have quite some personal/business experience with iCloud and OneDrive, and syncthing is (mostly) superior.
My wishlist for syncthing though, in prioritized order:
1. support for symlinks, to be able to sync files/folders that live outside of syncthing dirs. Some files I’d like to sync are in fixed locations that I cannot or don’t want to change, and Seafile allowed me to simply symlink them into an already synced dir. The counter-argument in GitHub discussions is having to distinguish between syncing symlink destinations vs. the symlink „as symlink“. For my situation that would be overthinking (as I’d never have the second use case) but I understand the hesitation, sadly.
2. provide a smart versioning/rollback solution leveraging ZFS snapshots, as my file server as participating node already creates rolling snapshots
3. (nice to have) mark certain directories as „sparse“, to sync data only when really accessed. Similar to what OneDrive provides
I'd respectfully suggest that HN is not the best forum for expressing those wishes, but using Syncthing's issue-tracker and/or fora/mailing lists (whatever form of community/dev discussion they use - haven't looked for it) would be more likely to get a response.
How do you monitor your syncthing? I am also a fan. It occured to me however if my headless server in the roofspace running syncthing goes away I don't know about it. Is there a way of doing notifications in syncthing which doesn't require an external monitoring system?
After posting I realised I was just being lazy. Yes, I need to get some sort of monitoring/graphing system going on. I have used Prometheus etc at work.
148 comments
[ 1.5 ms ] story [ 267 ms ] threadI was syncing files on 3 laptops on the same WIFI and the speed was just abysmal.
That was about 2 or 3 years ago so maybe it's better now.
The only slow bit I know of is when it's initially syncing too many files (e.g. tens of thousands). Even if they are tiny, it takes a while. I suspect it has something to do with the index serialization, but also there is a maxConcurrentWrites setting which is 2 by default -- perhaps on an SSD this is an unreasonably low default? Not sure.
Is it possible that you didn't have inotify enabled (fsWatcherEnabled)? There is also fsWatcherDelayS [0] setting (10 by default), which groups changes to avoid excessive sync operations, so it might be percieved as latency.
[0] https://github.com/Catfriend1/syncthing-android#readme -- I recommend the 'fork' over the original app, it's got some nice extras. Although seems that Google doesn't want it on play store https://github.com/Catfriend1/syncthing-android/issues/704
[1] https://docs.syncthing.net/users/config.html#fswatcherdelays
When I was syncing over mobile hotspot (LAN) on 2.4GHz, speeds weren't impressive. But then I got a 5GHz router with 3 devices and there is sufficient bandwidth. I share ~120GB of total data, spread across ~20 directories, largest being WhatsApp media backup with thousands of crappy low-quality photos. If I wait over a week, I easily accumulate more than a GB of data and it syncs in few minutes at most. Absolutely robust, and zero friction.
But notably missing: iOS.
If you are looking to fully replace Dropbox, you need a server to serve files off of that you can access from the Internet. You could do this using a NAS running Syncthing for example. (There’s at least a couple different ways to get it working on a Synology NAS.) That way, you could have a CIFS or WebDAV share to actually browse from mobile devices.
The developer made it with a little help from the syncthing team. There are comments there: https://forum.syncthing.net/t/mobius-sync-ios-client-now-in-...
I've been using it for some months, and it works fine, when it works. I sometimes have to start it manually because iOS killed it in the background.
My workaround for this has been to install iCloud on a Windows machine which then downloads all the photos from my phone, and Syncthing on Windows monitors the iCloud folder and shares it with a Linux machine that does my backups. A bit convoluted but it works.
[1] https://github.com/icloud-photos-downloader/icloud_photos_do...
And apparently these days they do offer a shared storage space, anyway.
More tightly integrated, much faster, lighter and polished app overall, has good iOS client.
One of the few projects I'm sponsoring on Github.
I do know that Syncthing has a way to keep older file versions around for awhile but I find that a bit cumbersome to use, especially during restore.
So, I am curious to understand more on how you use Syncthing as a replacement to Dropbox. (I'd love to do the same but don't for reasons I wrote above.)
If you need to go back to an older version, pick it in .stversions .
If anything, this seems simpler than dropbox for me. Does Dropbox still make you use the web UI to restore old versions?
For simple undo operations (recover a recently deleted file), Syncthing's version history is good enough.
There is also a setLowPriority setting which I believe should prevent it from taking all CPU, but not sure since never had such problem on Linux.
https://docs.syncthing.net/users/config.html
My secondary computer is a Windows 2-in-1. It's frequently running on battery power, and during that time, I often wake it up, check something, and put it back to sleep - all in a minute or less, repeated a dozen times an hour. If each time I turn the screen on Syncthing is going to run at full throttle for a minute or more, it'll drastically cut the effective work-on-battery time.
(This article popping up on HN reminded me that I wanted to check Syncthing out. But what 'gnufied described is a total deal breaker for me, so I'm not going to bother for now.)
Instead, I have Syncthing set to sync a half-dozen folders (Pictures, desktop, documents, audiobooks, etc.) between my phone, laptop, and desktop over the local network. In total, I sync more than 150 GB of files and it works almost instantly and seamlessly. I use the SyncTrayzor GUI for Windows and the Syncthing app for Android. The Android app occasionally needs to be restarted manually, but that's the only problem I've had with it.
Importantly, I keep local copies of everything on all of my devices, including my phone (256 GB storage plus a microSD card slot which I have yet to need). Lack of support for Syncthing on iPhones is one major reason I stick with Android, even though there's a lot to like about the platform. Once it gets too big I'll move a bunch of old stuff to backup/archive drives, but I don't expect that to happen for a while.
Now, I use Google Photos to selectively share photos with others, and that's it.
Even so, Dropbox/OneDrive have other problems, such as only syncing a single folder and not syncing over the local network. Plus it's expensive.
Seriously though, this can't possibly be THAT much more difficult than fragile attributes on a filesystem node. If someone at Dropbox is reading: please, I beg of you.
[0] https://f-droid.org/packages/com.github.catfriend1.syncthing...
Tresorit has that feature and it works great. Aside from data encryption, it was the main reason why I switched from Dropbox.
https://support.tresorit.com/hc/en-us/articles/217103697-Exc...
https://github.com/syncthing/syncthing-lite
Unfortunately, it is not maintained, even if it works and I use it daily.
It's transport agnostic, so WebRTC or websockets or whatever is fine.
Works in browser or Node.
https://github.com/claytongulick/bit-sync
so drop off an old machine at your parents / buddies / exs house, give it internet connection and cron some updates + reboots + power on after an outage and boom, if your house and all your devices burn down, you can get your files via decrypting with that password you saved to your email / password manager.
I love Syncthing and it's replaced Dropbox and Microsoft 365 for me. ok i keep the latter for online dictation when I'm not near a pc with dragon installed on it, but still, I don't need to trust MS with my data in their cloud.
wtf does this even mean?
So schedule auto updating, automatic restart and login so that it always get back to syncing so that you don't have to actively maintain anything.
Edit: actually it’s the .stversions that I was thinking of. Deleted versions can go there.
>It’s amazing how great computer products can be when they don’t need to deal with corporate bullshit, don’t have to promote a brand or to sell its users.
there is a function to ignore deletes, but it is hidden in the advanced settings which are difficult to access (some of those advanced settings should be hidden, but ignore delete is not one of them i think)
another thing i miss is an easy ability to see if all files have been sent. currently the status only shows if all files from the remote device are received, but i care more if all local files are sent (and thus backed up)
the point is that it's complicated and the 'ignore delete' is easily missed. also because it is not shown in the status. so every time i have to wonder, did i set this up correctly?
and i have to check the status on both the phone and the backup-device to make sure all is right.
when i want to delete something on the phone i have to check on the backup-device to make sure that the file is backed up. because the phones status does not tell me that. it only tells me whether it downloaded everything from other devices which is less usefull, i can see which files are on the phone anyways. i can't see what's been uploaded to the backup-device unless i go look.
just the other day i realized that for a new folder i had not set up ignore-delete. luckily, because i am paranoid, i made a hard-link duplicate of the backup before starting to delete files on the phone.
if i sync deletes from the backup device to the phone then a cron job to move files would potentially cause files to be removed from the phone before i am done with them.
rsync would cause the files to be duplicated (although i could still hardlink using rsync)
ah for rsync I meant with --remove-source-files flag -- it's just sometimes rsync is easier to use than move, depending on the hierarchy of your files
unles you mean to sync first, then move files i want to keep on the backup only out of the way and rsync --remove-source-files those files again.
the problem with that is that when i do remove files on the phone, then it's because i need the space. at which point i don't want to wait.
syncthing does what i want. that is not the problem. them problem is only that it is easy to forget to set up ignore-delete, and that it's hard to monitor the sync status of the backup from the phone.
i appreciate the suggestions, but they don't really do much to help my case. what is really needed is an improvement of the syncthing UI and in particular a redesign of the way the status is handled.
for my backup maybe i'll set up an rsync with hard-links to create a second version of all files which protects them from accidental deletion.
It has all the features you desire, but the UX/UI is streamlined for synchronization, not archiving.
Switched to Syncthing something like 2 years ago and it has been solid for me across Mac and Linux so far.
And I do moderately crazy things like using it to sync git repos to create replicas across multiple machines instead of manually using git across 5 machines and a hundred or so repos.
Only complaint is that initial synchronization is really slow.
You could set up your own git remote for this, Gitea is all the rage I've heard. But git remotes can be implemented many ways, no need for a dedicated server running.
It was surprisingly able to punch through firewalls in some cases where Tailscale couldn’t (even though both use UPnP and similar stuff).
When two devices can't find each other on the local network they look for each other on public discovery servers and then pick a community provided relay to connect. The data is end-to-end encrypted between both devices, so the relay doesn't see the file contents. This works out of the box on almost all networks. Unfortunately IPv6 doesn't seem to work with their public relay network though...
It uses external, community-run relays for that.
[0] https://docs.syncthing.net/users/faq.html#what-things-are-sy...
The thing that really annoyed me was that SyncThing synced .DS_Store files, leading to tons of unnecessary transfers and conflicts. They could be excluded via ignore patterns, but those patterns needed to be added to every folder—there was no global option. To fix this, I had to edit the code and create my own custom SyncThing build.
Resilio Sync says it does partially [0] but IMHO not to an acceptable level (it keeps Finder tags for instance but loses Finder icons and completely cripples legacy Mac Fonts).
Note that .DS_Store files are another different thing altogether. They are standard files storing the view state of their parent folder (and, incidentally, Dropbox does not sync them [1] and Resilio Sync is set to not sync them by default).
[0] https://help.resilio.com/hc/en-us/articles/204754729-Alt-Str...
[1] https://www.dropbox.com/help/145/en
User for about 3 years, after I left Dropbox (they incorrectly tagged a shared file as copyright-infringing - it was a bit too invasive for comfort).
I sync about 8TiB between 10+ devices, ranging from tablets and TV to desktops and laptops.
Since relatively recently, they also solved case (in)sensitive file names, which used to be a pita when changing file name casing only, but that’s all history now. Big fan!
OneDrive also opens all uploaded pictures and automatically tags them based on the visible content. As long as an online service doesn't offer end-to-end encryption it's a safe bet that they'll read all your files (famously leading to the Google Drive-based DDOS attack scheme[0]).
[0] http://chr13.com/2014/03/10/using-google-to-ddos-any-website...
Other advantages are opensource, privacy, lightweight, fast. Happy with it for months now.
I tried it with multiple different devices and know someone who has the same problem. At the same time I know many people it works flawlessly for. Has anyone else had a similar experience?
I've switched to KDE Connect for manually transferring files from the phone (it can't be scheduled on Windows as far as I'm aware, but at least it works every time).
I was pointed to syncthing and never have had any serious complaints. Good job
- Frequently I get sync conflicts, although I always edit file only on one host.
- Sync is not triggered automatically, but based on the schedule interval. If I need synced files immediately, I need to open the control UI and force rescan of files.
Pretty sure there's a "Watch for changes" toggle in the UI.
My wishlist for syncthing though, in prioritized order:
1. support for symlinks, to be able to sync files/folders that live outside of syncthing dirs. Some files I’d like to sync are in fixed locations that I cannot or don’t want to change, and Seafile allowed me to simply symlink them into an already synced dir. The counter-argument in GitHub discussions is having to distinguish between syncing symlink destinations vs. the symlink „as symlink“. For my situation that would be overthinking (as I’d never have the second use case) but I understand the hesitation, sadly.
2. provide a smart versioning/rollback solution leveraging ZFS snapshots, as my file server as participating node already creates rolling snapshots
3. (nice to have) mark certain directories as „sparse“, to sync data only when really accessed. Similar to what OneDrive provides