Syncthing
Overview
Syncthing is a self-hosted, peer-to-peer file synchronization platform that securely syncs files between your devices without relying on a central cloud provider. Data is transferred directly between trusted devices using end-to-end encryption.
| Item | Value |
|---|---|
| Image | lscr.io/linuxserver/syncthing:latest |
| Web UI Port | 8384 |
| Sync Port | 22000 (TCP/UDP) |
| Discovery Port | 21027 (UDP) |
| Volumes | /mydata/syncthing/config, /mydata/syncthing/data1 |
Docker Compose Files
docker-compose.yaml file
services:
syncthing:
image: lscr.io/linuxserver/syncthing:latest
container_name: syncthing
hostname: syncthing #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /mydata/syncthing/config:/config
- /mydata/syncthing/data1:/data1
ports:
- 8384:8384
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
restart: unless-stopped
Post-Deployment
Once Syncthing is deployed and running, open the web interface by navigating to:
http://<server-ip>:8384
On first launch, Syncthing generates its configuration automatically and presents the web interface.
Note: If you are using a reverse proxy (such as Nginx Proxy Manager, Traefik, or Caddy), configure it to forward traffic to port 8384. The first time you access Syncthing, you may also want to enable authentication for the web interface.
Configure the Web Interface
- Open Actions → Settings.
- Under the GUI tab:
- Set a GUI Username.
- Set a strong GUI Password.
- (Optional) Change the GUI listen address if you don't want it listening on all interfaces.
- Click Save.
- Syncthing will restart the web interface with the new settings.