LinuxCommandLibrary

syncthing

Peer-to-peer continuous file synchronization

TLDR

Start syncthing

$ syncthing
copy
Start without opening browser
$ syncthing --no-browser
copy
Start with specific home directory
$ syncthing --home=[/path/to/config]
copy
Generate keys and config
$ syncthing --generate=[/path/to/config]
copy
Reset to default config
$ syncthing --reset-deltas
copy
Show device ID
$ syncthing --device-id
copy
Show version
$ syncthing --version
copy

SYNOPSIS

syncthing [--home dir] [--no-browser] [--gui-address addr] [options]

DESCRIPTION

Syncthing is a continuous file synchronization program. It syncs files between devices in real-time, peer-to-peer, without requiring a central server.
Devices discover each other via local network, global discovery servers, or manual configuration. Data transfers directly between devices using TLS encryption. No third-party servers access file content.
The web GUI (default: localhost:8384) provides configuration and monitoring. Add devices by exchanging Device IDs - long cryptographic identifiers. Shared folders are configured per-device with specific folder IDs.
Conflict handling creates copies when the same file is modified on multiple devices before syncing. Version history can keep old file versions for recovery.
Selective sync allows ignoring files via patterns. File watching detects changes immediately on most platforms. Periodic scanning catches any missed changes.
Syncthing runs as a daemon, typically starting at login or as a system service. Multiple instances can run with different home directories.

PARAMETERS

--home DIR

Configuration directory.
--config DIR
Configuration file path.
--data DIR
Data directory path.
--no-browser
Don't open browser on start.
--gui-address ADDR
GUI listen address.
--gui-apikey KEY
Override GUI API key.
--no-restart
Don't restart after upgrade.
--device-id
Print device ID and exit.
--generate DIR
Generate keys and config.
--reset-database
Reset database.
--reset-deltas
Reset delta index.
--logfile FILE
Log to file.
--logflags FLAGS
Log flags.
--paused
Start with all devices paused.
--verbose
Verbose output.

CONFIGURATION

~/.config/syncthing/config.xml

Main configuration file defining devices, shared folders, and sync settings.
STTRACE
Environment variable to enable debug tracing for specific subsystems.

CAVEATS

Initial sync of large datasets takes time. Conflict files need manual resolution. Continuous syncing uses bandwidth. Discovery servers are public (though data isn't). Some filesystems don't support required features. Mobile battery usage can be significant.

HISTORY

Syncthing was created by Jakob Borg in 2013 as an open-source alternative to proprietary sync services like Dropbox. It emphasizes privacy (no central server), security (all data encrypted), and openness (open-source, open protocol). The project has grown into a widely-used synchronization solution.

SEE ALSO

rsync(1), rclone(1), unison(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community