Have I configured this correctly? (Global / Local Discovery)

5 computers. Of that 2 are Ubuntu servers and 3 are workstations/laptops.

In one location in town, I have a server and a workstation. In the other location, I have another server and 2 workstations.

All systems are running syncthing, latest version, as a service.

Each location is a hub-spoke setup, where the workstations share with the server, but none of the workstations share with each other.

The servers share with each other.

Is the best practice to enable Global Discovery on the servers, disable global discovery on the workstations, and keep local discovery active on all devices?

Can you start by explaining what are you trying to solve?

The statement so far is along the lines of “I had pasta for lunch, will it rain tomorrow?”

I suppose the problem would be that a workstation that is on one of the spokes would use a relay outside of the network to reach the server that it’s attached to on the lan. I just want to make sure that if I have pasta for lunch again, that I can sit on the patio while I eat.

Should global discovery only be used for systems that need to sync over the internet?

The type of discovery enabled/disabled should have no influence on the connection method, as discovery is used to discover all possible methods, which is totally independent from picking the best one we can connect through.

…but, I could configure a particular workstation to work inside particular boundaries, i.e., set workstation 192.168.1.10 to only sync with 192.168.1.20. No?

Sure, yet if that is a discoverable address it would pick that anyway, so not sure why it matters?

If you use a hostname or IPv6 address you’ll likely have less headache with DHCP leases etc.