https://github.com/syncthing/syncthing
Open Source Continuous File Synchronization
https://github.com/syncthing/syncthing
go p2p peer-to-peer synchronization
Last synced: 5 days ago
JSON representation
Open Source Continuous File Synchronization
- Host: GitHub
- URL: https://github.com/syncthing/syncthing
- Owner: syncthing
- License: mpl-2.0
- Created: 2013-11-26T09:48:21.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T11:33:42.000Z (about 1 month ago)
- Last Synced: 2025-03-12T11:49:23.191Z (about 1 month ago)
- Topics: go, p2p, peer-to-peer, synchronization
- Language: Go
- Homepage: https://syncthing.net/
- Size: 116 MB
- Stars: 68,208
- Watchers: 1,013
- Forks: 4,423
- Open Issues: 410
-
Metadata Files:
- Readme: README-Docker.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: .github/SECURITY.md
- Authors: AUTHORS
Awesome Lists containing this project
- awesome - syncthing/syncthing - Open Source Continuous File Synchronization (Go)
- stars - syncthing/syncthing
- awesome - syncthing/syncthing - Open Source Continuous File Synchronization (Go)
- awesome-homelab - Syncthing
- awesome-ops - syncthing/syncthing - 2.0|69102|2013-11-26|2025-04-03 | 开源的跨平台文件同步工具 | (Sync-Tools)
- fucking-Awesome-Linux-Software - ![Open-Source Software - Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. (Applications / Sharing Files)
- awesome-starred-test - syncthing/syncthing - Open Source Continuous File Synchronization (Go)
- awesome-repositories - syncthing/syncthing - Open Source Continuous File Synchronization (Go)
- awesome-starred - syncthing - Open Source Continuous File Synchronization (Go)
- awesome-steam-deck - Syncthing - Open source continuous file synchronization. (File Management)
- awesome-list - syncthing
- awesome-starts - syncthing/syncthing - Open Source Continuous File Synchronization (Go)
- awesome-starred - syncthing/syncthing - Open Source Continuous File Synchronization (go)
- go-awesome - Syncthing - File synchronization (Open source library / Files/Storage)
- awesome-reconsidera-takeaway - Syncthing - Source Software][oss icon] – Windows/macOS/Linux/Android (工具 / 效率工具)
- awesome-robotic-tooling - syncthing - is a continuous file synchronization program (Interaction / Storage and Record)
- jimsghstars - syncthing/syncthing - Open Source Continuous File Synchronization (Go)
- awesome - syncthing
- awesome-golang-repositories - syncthing
- awesome-list - Syncthing - Open Source Continuous File Synchronization. (Cross-Platform / JavaScript)
- Awesome-Linux-Software -  instead:
**Docker cli**
```
$ docker pull syncthing/syncthing
$ docker run --network=host \
-v /wherever/st-sync:/var/syncthing \
syncthing/syncthing:latest
```**Docker compose**
```yml
---
version: "3"
services:
syncthing:
image: syncthing/syncthing
container_name: syncthing
hostname: my-syncthing
environment:
- PUID=1000
- PGID=1000
volumes:
- /wherever/st-sync:/var/syncthing
network_mode: host
restart: unless-stopped
healthcheck:
test: curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1
interval: 1m
timeout: 10s
retries: 3
```Be aware that syncthing alone is now in control of what interfaces and ports it
listens on. You can edit the syncthing configuration to change the defaults if
there are conflicts.## GUI Security
By default Syncthing inside the Docker image listens on 0.0.0.0:8384 to
allow GUI connections via the Docker proxy. This is set by the
`STGUIADDRESS` environment variable in the Dockerfile, as it differs from
what Syncthing would otherwise use by default. This means you should set up
authentication in the GUI, like for any other externally reachable Syncthing
instance. If you do not require the GUI, or you use host networking, you can
unset the `STGUIADDRESS` variable to have Syncthing fall back to listening
on 127.0.0.1:```
$ docker pull syncthing/syncthing
$ docker run -e STGUIADDRESS= \
-v /wherever/st-sync:/var/syncthing \
syncthing/syncthing:latest
```With the environment variable unset Syncthing will follow what is set in the
configuration file / GUI settings dialog.