New: the Homelab Planning Bundle. Both planners together for $19.99 instead of $27.98Save $7.99GET THE BUNDLE

Homelab Addiction

Self-Hosted / Projects / Syncthing

Syncthing

Stable
syncthing/syncthing89.3k5.5k2d agoFile Transfer & Synchronization
DocsWebsiteSource

Specs verified October 4, 2026 · against v2.1.3

Overview

Private peer-to-peer file synchronization across computers, servers, and NAS devices.

Syncthing is an open source, peer-to-peer file synchronization tool that replicates files directly between your computers, servers, and NAS devices instead of storing them in a central cloud account.

The useful search intent is usually “self-hosted Dropbox alternative” or “private file sync,” but Syncthing is not a hosted drive with a web document editor. It is a sync layer: you choose the devices, folders, trust relationships, and storage locations, then operate the network yourself.

Why people choose Syncthing

The official project positions Syncthing around data ownership: files stay on the devices you choose, communication is protected with TLS, and each device is authenticated with a cryptographic certificate. That makes it a strong fit for syncing working folders, backups, and private data across a homelab without handing the files to a SaaS provider.

It also avoids the need for a permanent central server for many workflows. Devices exchange data when they are online, and the browser-based GUI can be used to configure and monitor folders on desktops, servers, and NAS systems.

What you get in the stack

Syncthing supports multiple shared folders and devices, device approval, folder permissions, ignore patterns, file versioning, discovery, relays, and a documented open protocol. The official documentation also covers a REST API, Prometheus-style metrics, reverse proxies, untrusted encrypted devices, and running the service automatically with systemd or other process managers.

Docker is supported through the project documentation, but it does not change the basic operating model: configuration, database/index state, and synced folders need persistent storage, and every participating device still needs a deliberate trust and network design.

What to know before you deploy

Syncthing is synchronization, not a complete backup strategy. Deletions and unwanted changes can propagate, so use folder versioning, snapshots, or a separate backup system when the data matters. An untrusted device can receive encrypted data without seeing the plaintext, but it still requires careful configuration.

Performance depends on hashing, encryption, compression, disk speed, CPU, and network paths. The official FAQ notes that large folders can create CPU and scanning work, while relay connections can be slower than direct connections. The GUI should also be protected with authentication and a network boundary rather than exposed casually to the public internet.

Official support for iOS is not provided by the current Syncthing team because of background-processing restrictions. Community and commercial mobile clients exist, but they should not be described as the same thing as an official first-party iOS app.

Best fit

Choose Syncthing when you want private, direct file replication between devices and are comfortable owning folder permissions, versioning, backups, and network access.

Choose Nextcloud, Seafile, or another cloud-style platform when the main requirement is a central web drive with browser collaboration, sharing links, and server-side file management rather than device-to-device synchronization.

Quick deploy

Paste into docker-compose.yml and run docker compose up -d
docker-compose.yml
1services:
2 syncthing:
3 image: syncthing/syncthing:2.1.3
4 container_name: syncthing
5 hostname: my-syncthing
6 environment:
7 - PUID=1000
8 - PGID=1000
9 - STGUIADDRESS=
10 volumes:
11 - /path/to/st-sync:/var/syncthing
12 network_mode: host
13 restart: unless-stopped

Configuration

Environment variables

VariableWhat it doesExample
PUIDUID Syncthing runs as inside the official container.1000
PGIDGID Syncthing runs as inside the official container.1000
STGUIADDRESSOptional GUI bind address override in the official container.127.0.0.1:8384
UMASKOptional umask for files created by Syncthing.002
PCAPOptional extra Linux capabilities without running as root.cap_chown,cap_fowner+ep

Ports

  • 8384/tcp — Syncthing admin GUI and REST API
  • 22000/tcp — Primary sync listener for device connections
  • 22000/udp — QUIC sync listener for device connections

Volumes to back up

  • /var/syncthing — Official container volume for synchronized files and Syncthing state.

Interface previews

Screenshots of the Syncthing interface.

Feature support

Feature support in Syncthing
FeatureSupport
Peer-to-peer continuous file synchronizationThe official site and FAQ describe real-time synchronization between two or more computers without a central cloud store.Supported
TLS-encrypted device communicationThe official site states that communication is secured with TLS and perfect forward secrecy.Supported
Device identity and approvalDevices use cryptographic identities and must be explicitly allowed to connect.Supported
Browser-based configuration GUIThe project provides a responsive browser interface for configuring and monitoring Syncthing.Supported
Folder ignore patterns and permissionsOfficial documentation covers ignore patterns, folder types, and folder permissions.Supported
File versioningVersioning is documented as a way to retain older file states, but it is not a substitute for independent backups.Supported
Discovery and relay supportGlobal discovery, local discovery, and relay paths are documented for devices that cannot connect directly.Supported
Untrusted encrypted devicesThe official docs describe encrypted folders for devices that should store data without receiving plaintext.Supported
Docker deploymentThe official repository links to Docker documentation; persistent configuration and data paths remain the operator’s responsibility.Supported
Official first-party iOS clientThe official FAQ says the current team has no foreseeable plan to support iOS; third-party clients have limitations and separate support models.Not supported

Community signals

Stars
89.3k
Forks
5.5k
Open issues
388

Includes open pull requests

Last commit
2d ago
Latest release
v2.1.6

6d ago

Repo created
Nov 2013

Refreshed nightly from the GitHub API.

Alternatives

  • Nextcloud

    Broader self-hosted cloud platform with web file management and collaboration.

  • Seafile

    Centralized self-hosted file sync and sharing comparison.

  • Resilio Sync

    Proprietary peer-to-peer synchronization comparison.

Questions

What is Syncthing used for?

Syncthing is used to synchronize files privately between computers, servers, NAS devices, and other trusted endpoints without uploading the files to a central cloud service.

Is Syncthing a self-hosted Dropbox alternative?

It can replace the file-sync part of Dropbox for many users, but it is not a hosted web drive. Syncthing focuses on device-to-device replication, while Dropbox-style web collaboration and central sharing may require another platform.

Does Syncthing need a central server?

Not always. Devices can exchange files directly when they are online, using discovery and relays when needed. A server or NAS can still be useful as one of the synchronized devices or as a stable always-on endpoint.

Is Syncthing a backup tool?

No. Synchronization can replicate deletions and unwanted changes. Use file versioning, filesystem snapshots, or an independent backup system for recovery.

Can Syncthing run in Docker?

Yes. The official project documents Docker support. Persist the configuration, index data, and folders being synchronized, and protect the GUI with authentication and a trusted network boundary.

Does Syncthing work on iPhone?

There is no official first-party iOS client from the current Syncthing team. Community and commercial clients exist, but iOS background-processing restrictions mean their behavior and support differ from the official desktop and server builds.

Why is Syncthing sync slow or using CPU?

The official FAQ points to hashing, encryption, compression, filesystem scanning, low-powered devices, network quality, and relay connections as common causes. Large folders and first-time indexing can be more CPU-intensive than steady-state synchronization.

support // the lab

Found this write-up useful?

If it saved you time or a rebuild, you can support more practical homelab guides.

Support the lab