Syncthing is an inherently distributed solution lacking a built in form of centralized management. Arigi provides the following centralized functionality on top of Syncthing:
A dashboard overview of all configured devices and their folders, with indications of online/offline state, in sync/out of date status, and configuration sync status.
Device name, tag, and folder label filtering and searching for the status dashboard.
Device configuration management based on tags and templated configuration fragments. Devices are automatically configured based on configuration fragments matching device tags.
An extensive JSON REST API for integrating Arigi with third party systems or dashboards.
Aggregation and forwarding of events to external sources like ElasticSearch for further processing and dashboarding.
Principle of Operation¶
Arigi simplifies deployment and management of multiple Syncthing devices. Instead of configuring devices one by one, Arigi gives you a single place in which to monitor all devices and apply configuration changes. Device configurations are based on templating and tag matching - you can easily add a new folder to a group of devices, and Arigi will ensure the devices are appropriately reconfigured.
Arigi is a server component that provides a web based interface. It does not require an external web server, although it can be placed behind one for aggregation and authentication purposes.
All communication between Arigi and the managed Syncthing devices’ API is initiated from Arigi and carried securely over HTTPS. Syncthing devices are located using standard Syncthing discovery mechanisms or manually configured addresses. For devices behind firewalls or otherwise unreachable via direct connection from Arigi, a tunnel server / reverse HTTPS proxy can be used. This tunnel server connects outward towards Arigi and then allows Arigi to initiate connections towards a given Syncthing device through the tunnel (see Reverse Tunneling the API).
Syncthing devices are enrolled with Arigi, using either of the following methods:
By entering the GUI address (IP and port) plus a valid user ID and password. Arigi will read the API key from the device configuration and use that for further communication.
By entering the GUI address (IP and port) plus a valid API key.
By having Arigi act as a private Syncthing Discovery Server and automatically enroll devices registering with the discovery server (see Automatic Enrollment).
Once enrolled, a Syncthing device is monitored and controlled by Arigi.
The latest version of Arigi and the product documentation can be downloaded from https://kastelo.net/arigi/.
When logged into an Arigi instance, the About page also provides access to the matching version of the product documentation, the list of known issues, and contact information to support. Should you be unable to access the GUI, please use the following information to contact support at any time: