Live data from Hacker News

Syncthing – a continuous file synchronization program

syncthing.net

91–100 of 233 posts

Re: Syncthing – a continuous file synchronization program

#91

I used to be a user of both Syncthing and Resilio Sync, but i've replaced both with regular cloud storage with Cryptomator or rclone+crypt instead (Cryptomator for clients). It turns out that the power consumption of keeping redundant hardware running at home is about twice as high as just buying the same storage in the cloud, and then you need to figure in the cost of hardware as well. I.e. Microsoft Family 365 can…

I use far less than 15W using an old laptop or RasPi their cost is negligible over their useful lifetime

The 15W doesn't account for hardware. As soon as you add in hardware (and redundancy), you're looking at a lower budget.

If i was to self host something similar, i would use a server (could be RPi4) with a set of 2x6TB drives in RAID1(for availability), and a remote backup somewhere (so another 6TB drive). The hardware cost of a single 6TB (Seagate Ironwolf 6TB, €202 at Amazon) harddrive could pay for 3 years of Family 365.

So we're looking at 6 years of Family 365 to buy the harddrives alone (and 9 months more if you buy a RPi 4). I'm not counting the backup drive as you'll need that as well even if running in the cloud.

Assuming a lifespan of 5 years, and an operating power of 5W average, you're looking at 44 KWh per harddrive per year, so 2x44x5 = 440 KWh over 5 years, or €194 (at €0.44/KWh).

So the total cost of running your own setup over 5 years would be:

€404 2 x 6TB harddrives

€194 power consumption (not counting server power)

Thats €598 for 5 years, or €119.5 per year, and that's also assuming no hardware breaks down.

Compare that to the €60 that Family 365 costs per year.

Re: Syncthing – a continuous file synchronization program

#92
post #89

This seems to rely on inotify which is not always triggered when files change when they are watched. In the following scenario realtime syncing would then fail silently: - You have a server A which contains files which you are editing. - You have setup realtime syncing between server A and a machine B. - On server A you have a Docker container which runs Samba and is hosting the directories of server A which contains…

Did this happen to you?

This seems like a very contrived example of a problem.

Re: Syncthing – a continuous file synchronization program

#93
post #89

This seems to rely on inotify which is not always triggered when files change when they are watched. In the following scenario realtime syncing would then fail silently: - You have a server A which contains files which you are editing. - You have setup realtime syncing between server A and a machine B. - On server A you have a Docker container which runs Samba and is hosting the directories of server A which contains…

Syncthing has two methods for detecting file changes: Watching (inotify), and Scanning. Both are enabled by default, with scanning once per hour (+/- a random element). Configurable per directory. https://docs.syncthing.net/users/syncing.html

Re: Syncthing – a continuous file synchronization program

#94

I used to be a user of both Syncthing and Resilio Sync, but i've replaced both with regular cloud storage with Cryptomator or rclone+crypt instead (Cryptomator for clients). It turns out that the power consumption of keeping redundant hardware running at home is about twice as high as just buying the same storage in the cloud, and then you need to figure in the cost of hardware as well. I.e. Microsoft Family 365 can…

I run a NAS with syncthing and a dappnode at home. The dappnode runs Storj, which I allocated about 2TB. It is paying me now about 6€/month, which is barely enough to cover the electricity costs and the cost of the drive. It certainly hasn't helped to cover any of the cost from the NAS. Decentralized solutions are always going to be less cost-effective than central services. We still should do it anyway. Optimizing f…

> It makes us fragile and susceptible to any change in their terms.

Which is why you should backup your data locally (or somewhere else), but even if self hosting, you should still have a backup of your data.

I personally backup everything at home, and if/when their terms change, it's simply a matter of restoring data onto the new solution (local or remote), and i'm up and running again.

Re: Syncthing – a continuous file synchronization program

#95
Syncthing is really amazing, I have been using it for nearly two years to sync notes on all of my device; three laptops, one iPad, raspberry pi and a pixel 2. The most difficult thing was finding a solution to work on the iPad, ended up having to use an app to remotely access and edit files on my raspberry pi, it's kinda clunky but gets the job done.

Re: Syncthing – a continuous file synchronization program

#96
post #80

Earlier quoted context omitted.

Thanks! I will use the enable-linger on the NAS running 24/7, and configure it using a remote browser (probably via SSH tunnel). This way I can always sync to NAS even if everything else is off, and the laptop/desktop will sync from the NAS when required.

I saw just now that there are also system units (started with "systemctl enable --now syncthing@USER_NAME_HERE.service", note the lack of --user). If you use those then you don't need to activate linger. Using those is probably considered the more standard way of doing things on an unattended server.

Nice catch, this usecase seems common enough.

Re: Syncthing – a continuous file synchronization program

#98
post #51

Earlier quoted context omitted.

The thing with the .stfolder file is annoying as hell. I use it to sync the build output folder for my Android builds but sometimes I need to run a clean and it wipes out the folder. Syncthing's developers for whatever reason just can't seem to grasp that sometimes I could careless about a folder's history and just need my files synced. My fix it to run `touch .stfolder` in the build directory which fixes it but seri…

If you put a non-empty placeholder file in that folder, it won't be empty any more, so it shouldn't be removed.

Yea but it doesn't matter. The clean from gradle deletes the folder entirely and creates a new one in it's place. I don't care. Just sync the path. That's all I need. Instead Syncthing literally stop syncing ALL folders because "oh no something went wrong".

For whatever reason open source software always has these weird edge case engineering "solutions" that really aren't that great. If someone was actually a paying customer and asked for this the engineers would just figure something out instead of making excuses for why it is the way it is.

Re: Syncthing – a continuous file synchronization program

#99
post #89

This seems to rely on inotify which is not always triggered when files change when they are watched. In the following scenario realtime syncing would then fail silently: - You have a server A which contains files which you are editing. - You have setup realtime syncing between server A and a machine B. - On server A you have a Docker container which runs Samba and is hosting the directories of server A which contains…

Did this happen to you? This seems like a very contrived example of a problem.

It didn't happen with Syncthing because I'm not using it (yet!), but while trying to edit files normally which were watched by inotify.

I'm kind of assuming that it's the containerization of Samba which is causing the problem, since I have not installed Samba directly on the server, but it could also be the case when not using Docker.

Apparently any CIFS mount is affected https://lists.samba.org/archive/linux-cifs-client/2009-April...

Re: Syncthing – a continuous file synchronization program

#100
post #93
post #89

This seems to rely on inotify which is not always triggered when files change when they are watched. In the following scenario realtime syncing would then fail silently: - You have a server A which contains files which you are editing. - You have setup realtime syncing between server A and a machine B. - On server A you have a Docker container which runs Samba and is hosting the directories of server A which contains…

Syncthing has two methods for detecting file changes: Watching (inotify), and Scanning. Both are enabled by default, with scanning once per hour (+/- a random element). Configurable per directory. https://docs.syncthing.net/users/syncing.html

Excellent, that's good to know.
Post reply on HN