Syncthing main server with read-only share Internet Blackbox server Syncthing LAN Only 30+ Windows10 Laptops LAN only Syncthing Location router, LAN only Location router, Internet Windows10 Laptop Some Inet/Lan Only Syncthing
My usage case is I have a number of classrooms that require all of the curriculum material and installer files on each machine, however the issue is that theres a limited number of internet accounts that we get at each location. Syncthing appears to be something that accomplishes all of the goals that we’re looking for and any experiences you can share with your setup might help me accomplish my goals as well.
I was thinking of explicitly using static IP’s for network infrastructure and then defining Hosts files or a central DNS server within the network of some kind.
If you can avoid it, you probably don’t want to hang all 800 clients off a single laptop/small server. Divide them into smaller groups and interconnect those groups, letting someone in each group get a connection to the server. Otherwise you risk a “stampede” on that server when it announces an update to everybody.
This is basically what I’m planning my drawing only showed one branch.
The biggest concern then at this point that I have is it doesn’t seem obvious how to auto provision a headless install and connect it automagically to a share.
You can give your clients a pre-populated config.xml that points to some central server and share. The client’s own device ID doesn’t have to be in there; it’ll add it itself when it knows it. What remains is accepting the new device ID on the other side. You can use something that talks to the API to auto accept devices, if you trust your network enough. Or you can use some provisioning solution (ansible, chef, Arigi, etc).
800 computers? Is this a typo?
I love Syncthing but personally I would go for a simple solution like robocopy, rsync, etc. as soon there is a bunch of computers in the same LAN. Then just run a script when clients boot or users log on to get current file sets.
On first startup, if there is no keypair, one is generated and populated into the config as appropriate. So starting a new device with a skeleton config pointing at the central server and no device ID is fine. The issue is just when the unknown connection comes in to the other side.
There are much larger Syncthing clusters than that out there.
I’m curious if you have a more explicit example you can post in a code block so there’s no mistaking what exactly needs to be omitted.
The reason I ask is because I’m looking at the config.xml that was generated on my dev setup and the config.xml’s Device ID for the machine itself looks exactly the same to me as the target machines ID block.