Skip to content

syncthing

A secure, file synchronization app for devices over networks, offering a private alternative to cloud services.

Categories

Uncategorized

Usage

We recommend configuring this module as an sync-service through the provided options. Although it provides a Web GUI through which more usage scenarios are supported.

Features

  • Private and Secure: Syncthing uses TLS encryption to secure data transfer between devices, ensuring that only the intended devices can read your data.
  • Decentralized: No central server is involved in the data transfer. Each device communicates directly with others.
  • Open Source: The source code is openly available for audit and contribution, fostering trust and continuous improvement.
  • Cross-Platform: Syncthing supports multiple platforms including Windows, macOS, Linux, BSD, and Android.
  • Real-time Synchronization: Changes made to files are synchronized in real-time across all connected devices.
  • Web GUI: It includes a user-friendly web interface for managing devices and configurations. (127.0.0.1:8384)

Configuration

  • Share Folders: Select folders to share with connected devices and configure permissions and synchronization parameters.

Info

Clan automatically discovers other devices. Automatic discovery requires one machine to be an introducer

If that is not the case you can add the other device by its Device ID manually. You can find and share Device IDs under the "Add Device" button in the Web GUI. (127.0.0.1:8384)

Troubleshooting

  • Sync Conflicts: Resolve synchronization conflicts manually by reviewing file versions and modification times in the Web GUI (127.0.0.1:8384).

Support

Usage via Inventory

This module cannot be used via the inventory interface.

Usage via Nix

This module can be also imported directly in your nixos configuration. Although it is recommended to use the inventory interface if available.

Some modules are considered 'low-level' or 'expert modules' and are not available via the inventory interface.

{config, lib, inputs, ...}: {
    imports = [ inputs.clan-core.clanModules.syncthing ];
    # ...
}

Module Options

The following options are available for this module.

clan.syncthing.autoAcceptDevices

Auto accept incoming device requests. Should only be used on the introducer.

Type: boolean

Default:

false

syncthing

clan.syncthing.autoShares

Auto share the following Folders by their ID's with introduced devices. Should only be used on the introducer.

Type: list of string

Default:

[ ]
Example
[
  "folder1"
  "folder2"
]

syncthing

clan.syncthing.id

The ID of the machine. It is generated automatically by default.

Type: null or string

Default:

"config.clan.core.facts.services.syncthing.public.\"syncthing.pub\".value"
Example
"BABNJY4-G2ICDLF-QQEG7DD-N3OBNGF-BCCOFK6-MV3K7QJ-2WUZHXS-7DTW4AS"

syncthing

clan.syncthing.introducer

The introducer for the machine.

Type: null or string

Default:

null

syncthing