Syncthing for Small Business

Need for Small Business version of Syncthing:

We have been using syncthing as a method of sharing company files amongst employees. This has worked well so far but has some weak points that mean we will probably stop using it when we grow a bit larger. The method of using syncthing so far is this:

  • All employees have their own laptops and/or desktops. These are a mixture of win10 and various Ubuntu versions.
  • The company has a file structure with one sub-directory for each project.
  • One desktop in the office acts as a central point in the network and manages all shares.
  • Senior employees have a single share that is one level up from the project directories so they can see all projects.
  • Other employees will have one share for each project that they are involved in.
  • Backups are made regularly by a separate system.

The weak points include:

  • only one admin
  • method of sharing on folder by folder and employee by employee basis requires many shares that are somewhat hard to manually track and manage.
  • one central point of failure
  • Backups are not well integrated
  • Once or twice the whole system has ground to a halt due to inconsistent application of automatic updates that break compatibility

An implementation of a small business version of syncthing might look like:

  • Install standard syncthing daemon on all nodes
  • Replace GTK interface with new business management app
  • introducing new machines by sharing of ID codes similarly to before
  • management app controls which users can see which folders (the user could technically still use the web-api to set up additional shares. This is probably OK)
  • encrypted database with business settings (maybe stored in a .stenterprise) dir is synced to each node
  • business app allows admin users to set which users can see which dirs, these settings stored in the database
  • enterprise app reads database and applies policies and settings, sets up and removes shares as required.
  • database has ID of all computers on the network so if central point of failure goes down other nodes that have all (or most) files can take over as needed. Or some kind of mesh network could be established instead (not fully clear on technical capabilities of syncthing here, sorry).
  • enterprise app should also take care of daemon settings and updates to ensure all nodes have same version and update in lock-step
  • interface in the enterprise app that allows users to request copies of old versions of files or dirs. -It would also be nice to have a distributed space efficient storage of backups, (not necessarily using syncthing for this)

I am sure there are many holes in the above description. But be that as it may, I am interested to know if any others recognise these needs. Is anyone interested in contributing to making something like this?

3 Likes

Did you take a look at https://kastelo.net/ already? I think that Arigi will fulfil many of your needs.

5 Likes