As announced, here’s the current version of my init-script, and some background why I do this.
stmultiuser.in (11.1 KB)
The environment I use it in:
- two FreeBSD 11.1 servers at two sites, sharing data with users via nfs, samba, sftp - and now syncthing
- users sync their data (mostly portions of it) to laptops (Win, Mac, Linux) and mobiles (Android, iOS)
- on the servers there’s one Syncthing instance per user, running as the user to keep permissions/ownership (the users still use nfs, samba and sftp to access their network-drives)
- one of the servers is somehow a “master server” by being added as introducer to all other servers and users
How I synchronized stuff before:
- up to recently there was only one Server
- owncloud/nextcloud was used to sync laptops and mobiles
- network shares were mounted via sftp into own-/nextcloud
- especially common files caused a lot of traffic between the sites, because of the central server architecture
Why I switched to syncthing, and built the multi-user init script:
- Syncthings decentralized architecture is a mercy - it’s easy now to have a second server (or even more)
- it keeps the servers in sync, plus
- users moving between sites (what happens quite a lot) is no problem
- that’s what kept me from setting up a server on the second site
- Let’s say a user has added something on site A, has it synchronized to server A and then moves to site B. Arriving at B, server A has partly synchronized with server B. Now synchronizing the users laptop with server B could/will lead to conflicts.
- With Syncthing and it’s peer-to-peer approach this use-case is not only no problem anymore, it even safes traffic between the sites by “sneaker-netting” (parts of) the data between sites.
Any comments are appreciated