Syncthing Raspberry Pi gives your household a private, cloud-free file sync system that works across phones, tablets, and laptops without sending data to any third-party server. The Pi runs Syncthing as a systemd service, acting as the always-on hub that keeps every device in sync. Files are transferred directly between devices using TLS encryption, verified with SHA-256 checksums, and versioned automatically so accidental deletions can be recovered. This guide covers installation from the official repository, device pairing, folder configuration, versioning, security hardening, and troubleshooting.
Last tested: Raspberry Pi OS Bookworm Lite 64-bit | April 14, 2026 | Raspberry Pi 4 Model B (4GB) | Syncthing 1.28.0 | Android + Windows + macOS clients
Key Takeaways
- Install Syncthing from the official APT repository, not the Debian package. The Debian repos ship an outdated version that lacks current security patches and features. The official repo consistently provides the current stable release.
- Syncthing is a sync tool, not a backup. If a file is deleted on one device and that deletion syncs to all others, the file is gone from all devices. Versioning provides a local safety net, but a real backup to a separate destination is still required.
- Set a GUI password immediately after installation. The web interface listens on port 8384 with no authentication by default. Any device on your LAN can access the Syncthing configuration without a password until you set one.
Syncthing Raspberry Pi: How It Works
Syncthing creates a mesh of trusted devices. Each device has a unique cryptographic ID derived from its TLS certificate. You pair devices explicitly by exchanging IDs. No device can participate in sync without being added manually on both sides. Once paired, devices announce their presence on the local network via mDNS and connect directly without a central server. For devices on different networks, Syncthing uses a discovery server to find each other and then transfers data directly or through a relay if direct connection is not possible.
Folders are the unit of sharing. Each folder maps to a path on disk and has its own set of paired devices, access controls, and versioning settings. A folder shared between the Pi and a phone does not automatically get shared with a laptop. You configure each sharing relationship explicitly.
| Feature | Syncthing | Google Drive / Dropbox | Nextcloud |
|---|---|---|---|
| Data location | Your hardware only | Cloud servers | Your server |
| Cost | Free, open source | Free tier, then paid | Free, open source |
| Live editing | No | Yes | Yes (with apps) |
| File versioning | Built-in | Limited (paid tier) | Built-in |
| iOS support | Third-party only | Official | Official |
| Setup complexity | Low | None | Medium-High |
Installation on Raspberry Pi OS Bookworm
Flash Raspberry Pi OS Bookworm Lite 64-bit using Raspberry Pi Imager. In the advanced settings, set hostname, enable SSH, and configure credentials. After first boot:
sudo apt update && sudo apt full-upgrade -y
Add the official Syncthing APT repository. The Debian package in the standard repos is outdated. The official repo provides the current stable release:
# Add the Syncthing signing key
sudo mkdir -p /etc/apt/keyrings
curl -L -o /tmp/syncthing-release-key.gpg \
https://syncthing.net/release-key.gpg
sudo gpg --dearmor \
-o /etc/apt/keyrings/syncthing-archive-keyring.gpg \
/tmp/syncthing-release-key.gpg
# Add the repository
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] \
https://apt.syncthing.net/ syncthing stable" \
| sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt update
sudo apt install syncthing -y
Enable and start the systemd service. Replace pi with your actual username if different:
sudo systemctl enable syncthing@pi
sudo systemctl start syncthing@pi
sudo systemctl status syncthing@pi
Expected result: systemctl status syncthing@pi shows the service active and running. Syncthing generates its TLS certificate and device ID on first start. This takes a few seconds. Navigate to http://<pi-ip>:8384 from a browser on the same network and the Syncthing web interface appears.
Set a GUI password immediately
In the web interface, go to Actions > Settings > GUI and set a username and password. Without this, any device on your LAN can access and modify your Syncthing configuration. Click Save and the browser prompts for credentials on the next load.
Set a static IP
Devices pair with the Pi using its IP address or hostname. Set a static LAN IP so the Pi is always reachable at the same address:
sudo nmcli connection modify "Wired connection 1" \
ipv4.method manual \
ipv4.addresses 192.168.1.60/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 192.168.1.1
sudo nmcli connection up "Wired connection 1"
Adding Folders and Devices

Install Syncthing on each device you want to sync. Official clients exist for Windows, macOS, Linux, and Android. For iOS, Möbius Sync and Syncthing-iOS are the most capable third-party options. Open the Syncthing web interface on the Pi and follow this sequence for each device:
- On the remote device, find its Syncthing device ID (shown in the app or web interface under Actions > Show ID).
- On the Pi’s web interface, click Add Remote Device, paste the device ID, and give it a name.
- On the remote device, accept the connection request from the Pi when it appears.
- Add a folder in the Pi’s interface, set its path on disk, and share it with the new device.
- Accept the folder share on the remote device and set the local path where it will sync to.
Folder types
| Type | Effect | Use case |
|---|---|---|
| Send and Receive | Full bidirectional sync | Shared family folders, working files |
| Send Only | Pi sends, remote cannot modify | Media library distributed from Pi |
| Receive Only | Pi receives, does not send changes back | Camera upload target, backup destination |
For folders where only you should be able to modify content, set the Pi folder to Send Only and the remote devices to Receive Only. This prevents a family member from accidentally deleting files from a shared source.
Ignore patterns
Create a .stignore file in any synced folder to exclude unwanted files. Common entries:
// .stignore
Thumbs.db
.DS_Store
desktop.ini
*.tmp
~$*
Expected result: After completing the pairing sequence, both devices show the folder in a synced state with a green indicator. The initial sync time depends on folder size. A 10GB folder over gigabit LAN takes a few minutes.
File Versioning
Versioning saves previous copies of files when they are modified or deleted. Configure it per folder in the Syncthing web interface under the folder’s Edit settings.
| Versioning type | How it works | Best for |
|---|---|---|
| Trash Can | Deleted files move to .stversions, kept until manually cleared | Accidental deletion recovery |
| Simple | Keeps the last N versions of each changed file | Documents with frequent edits |
| Staggered | Keeps more versions of recent changes, fewer of older ones | Long-term document archives |
| External | Calls a custom script on each file change | Advanced workflows with custom retention |
Versioned files live in a hidden .stversions folder inside the synced directory. To restore a deleted file, navigate to .stversions on any device that has versioning enabled and copy the file back to its original location. Syncthing will then sync the restored file to all other devices.
Versioning consumes disk space proportional to how often files change and how many versions you retain. For a family photos folder that rarely changes, the overhead is minimal. For a folder containing actively edited documents, check the .stversions size periodically and set a version limit or retention period to prevent unbounded growth.
Versioning is a local safety net, not a backup. A genuine backup sends data to a separate physical location. For automated encrypted backups of the Pi’s sync folders, see BorgBackup Raspberry Pi Prune Policies.
Security Configuration
LAN-only mode
If all your devices are on the same home network, you can disable global discovery and relay usage to keep all traffic local. In Actions > Settings > Connections, disable:
- Enable NAT traversal
- Global discovery
- Enable relaying
With these disabled, Syncthing only communicates on your LAN via mDNS local discovery. Devices away from home will show as disconnected until they return to the local network. This is the most conservative configuration and appropriate when you do not need remote sync.
Remote access via VPN
For sync access when away from home, a VPN is safer than enabling global discovery. With a WireGuard VPN connecting your remote device to the home network, your phone or laptop appears on the home LAN and Syncthing functions normally over local discovery. No Syncthing ports need to be exposed to the internet. See WireGuard Raspberry Pi Site-to-Site VPN for the setup.
Firewall
sudo apt install ufw -y
sudo ufw allow OpenSSH
# Syncthing sync port
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
# Local discovery
sudo ufw allow 21027/udp
# Only allow GUI from local network (not needed if GUI is LAN-only already)
sudo ufw allow from 192.168.1.0/24 to any port 8384
sudo ufw enable
Do not open port 8384 to the internet. The GUI has no rate limiting on login attempts. Access it only from the local network or through a VPN.
Monitoring and Maintenance
# Check service status
sudo systemctl status syncthing@pi
# Follow service logs
journalctl -u syncthing@pi -f
# Check Syncthing version
syncthing --version
The web interface dashboard shows each folder’s sync status, connected devices, last sync time, and any errors. A folder showing “Out of Sync” with a count of items indicates files that have not yet transferred. This is normal during active syncing. A folder stuck on Out of Sync with no transfer activity indicates a problem. Check the logs for the specific file causing the issue.
Keep Syncthing updated:
sudo apt update && sudo apt upgrade syncthing -y
Back up the Syncthing configuration directory before major changes or upgrades. This preserves all device pairings, folder configurations, and certificates:
cp -r ~/.config/syncthing ~/syncthing-config-backup-$(date +%Y%m%d)
Troubleshooting
Device shows as disconnected
# Confirm Syncthing is listening on the sync port
sudo ss -tlnp | grep 22000
# Check that discovery is working
journalctl -u syncthing@pi | grep -i "discovery\|connected\|error"
Disconnected devices are usually caused by a network change (new IP address, different subnet) or a firewall blocking port 22000. Confirm both devices are on the same network and that port 22000 is not blocked. If you disabled global discovery, devices on different networks will always show as disconnected until they are on the same LAN or connected via VPN.
Folder stuck on Out of Sync
# Check file ownership and permissions on the Pi
ls -la /home/pi/Sync/
# Fix ownership if wrong
sudo chown -R pi:pi /home/pi/Sync/
# Force a rescan of the folder
# In the web interface: click the folder > Rescan
Permission errors are the most common cause of stuck folders. Syncthing runs as your user (pi) and cannot write to directories owned by root or another user. Fix with chown rather than chmod 777. Broad permission changes create security problems and are not necessary.
File conflicts
When the same file is edited on two devices before either has synced, Syncthing creates a conflict copy named with a .sync-conflict suffix. This is the version from the device that lost the race. Review both files, keep the correct version, and delete the conflict copy. Conflicts are more common when devices are frequently offline between edits. Encourage family members to let a sync complete before opening a shared file on a different device.
External drive not mounted after reboot
If Syncthing folders live on a USB drive that is not mounted when Syncthing starts, the folder shows a “Folder path missing” error. Fix by adding the drive to /etc/fstab using its UUID so it mounts before Syncthing starts:
# Find the UUID
blkid /dev/sda1
# Add to /etc/fstab
UUID=your-uuid-here /mnt/sync ext4 defaults,nofail 0 2
The nofail option prevents the Pi from failing to boot if the drive is not connected. After the drive is mounted at its consistent path, update the folder path in Syncthing accordingly.
- MADE FOR THE MAKERS: Create; Explore; Store; The T7 Portable SSD delivers fast speeds and durable features to back up an…
- SHARE IDEAS IN A FLASH: Don’t waste a second waiting and spend more time doing; The T7 is embedded with PCIe NVMe techno…
- ALWAYS MAKE THE SAVE: Compact design with massive capacity; With capacities up to 4TB, save exactly what you need to you…
FAQ
Can Syncthing replace Google Drive or Dropbox?
For local file sync across household devices, yes. Syncthing does not support live collaborative editing. Two people cannot edit the same document simultaneously the way Google Docs allows. If that is a requirement, Nextcloud with its office integration is a better fit. For everything else (photos, backups, shared folders, document distribution), Syncthing handles it without any cloud dependency or monthly cost.
Does Syncthing work without internet?
Yes. With global discovery disabled and all devices on the same LAN, Syncthing works entirely on your local network without any internet connection. mDNS discovery finds devices on the local subnet automatically. This is the recommended configuration for home use where remote access is not needed.
Can I use Syncthing with iPhones?
There is no official iOS Syncthing app. Möbius Sync and Syncthing-iOS are the most capable third-party options on the App Store. Both support the Syncthing protocol and can sync with a Pi hub, though iOS background sync limitations mean an iPhone will only sync when the app is in the foreground or when the device is on a connected network and the app runs periodically. Android support via the official Syncthing-Fork app is more reliable for automatic background sync.
What happens if the Raspberry Pi is offline?
Devices continue to function independently. Files can be created, edited, and deleted on any device while the Pi is offline. When the Pi comes back online and reconnects, Syncthing reconciles changes across all devices. Conflicts arise if the same file was modified on two devices while the Pi was offline. These are handled with conflict copies as described above.
Is Syncthing safe for sensitive files?
All transfers use TLS encryption and device identity is verified via certificate fingerprint. No data passes through a third-party server when using LAN-only mode. The weak point is physical security. If someone gains access to the Pi or a synced device, they can read the files. For high-sensitivity documents, encrypt files before putting them in a synced folder using tools like gpg or VeraCrypt. Full disk encryption on the Pi’s SD card or SSD adds another layer.
References
- https://docs.syncthing.net/
- https://apt.syncthing.net/
- https://github.com/syncthing/syncthing
- https://wiki.archlinux.org/title/Syncthing
About the Author
Chuck Wilson has been programming and building with computers since the Tandy 1000 era. His professional background includes CAD drafting, manufacturing line programming, and custom computer design. He runs PidiyLab in retirement, documenting Raspberry Pi and homelab projects that he actually deploys and maintains on real hardware. Every article on this site reflects hands-on testing on specific hardware and OS versions, not theoretical walkthroughs.
Last tested hardware: Raspberry Pi 4 Model B (4GB). Last tested OS: Raspberry Pi OS Bookworm Lite 64-bit. Syncthing 1.28.0, Android + Windows + macOS clients.

