Updating files along a server-tree (caching updates?)

Hi there,

I have a setup where I’d like to only update things along a certain path:

           +- satellite link -- _local_server_1_ -- wifi_1
_Server_ --+
           +- satellite link -- _local_server_2_ -- wifi_2
           +- satellite link -- wifi_3

My _Server_ is available with a public IP. As I live behind satellite-links but have some _local_server_n_ available, it is faster to copy things to the _local_server, and then let those communicate with the _Server_. For the moment I do this with some rsync and local samba-shares. But if I could tell syncthing to update only to _local_server, if available, this would be easier…

So:

  • If I’m in wifi_1, all my files first go to _local_server_1_, before being copied to _Server_ and _local_server_2_
  • If I’m in wifi_2, all my files first go to _local_server_2_, before being copied to _Server_and _local_server_1_
  • If I’m in wifi_3, all my files get copied directly to _Server_, and then to _local_server_1_ and _local_server_2_

Any idea?

While this isn’t exactly supported, I’m not sure it’s a big problem. Well, it might be an issue if local_server_* are reachable over the satellite link even when you are not at that location. Otherwise, your “roaming” syncthing instance will connect to the local server, if there is one, and to the server behind the satellite link. The files will start syncing to both, but should finish much faster to the local server. The remote server will continue pulling from you and from the local server, as long as either is available, and in either case only a single copy will be sent over the satellite link.

If all of the local servers are reachable from any location, then you’ll get crappy utilization of the satellite link though… Perhaps you can enforce this by only letting your roaming syncthing connect to the local IP of the local servers (if that isn’t reachable from the outside), or something similar.