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

  1. Open ActionsSettings.
  2. 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.
  3. Click Save.
  4. Syncthing will restart the web interface with the new settings.