{"id":13397561,"url":"https://github.com/syncthing/syncthing","last_synced_at":"2026-01-06T14:12:58.999Z","repository":{"id":37250995,"uuid":"14712850","full_name":"syncthing/syncthing","owner":"syncthing","description":"Open Source Continuous File Synchronization","archived":false,"fork":false,"pushed_at":"2025-05-05T03:52:43.000Z","size":122842,"stargazers_count":69938,"open_issues_count":376,"forks_count":4505,"subscribers_count":1011,"default_branch":"main","last_synced_at":"2025-05-05T15:07:50.612Z","etag":null,"topics":["go","p2p","peer-to-peer","synchronization"],"latest_commit_sha":null,"homepage":"https://syncthing.net/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syncthing.png","metadata":{"files":{"readme":"README-Docker.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"syncthing","custom":"https://syncthing.net/donations/"}},"created_at":"2013-11-26T09:48:21.000Z","updated_at":"2025-05-05T14:24:15.000Z","dependencies_parsed_at":"2023-11-13T04:31:59.819Z","dependency_job_id":"c12bfd21-d341-49b2-a089-bfe355f46630","html_url":"https://github.com/syncthing/syncthing","commit_stats":{"total_commits":6507,"total_committers":336,"mean_commits":"19.366071428571427","dds":0.6342400491778085,"last_synced_commit":"b5082f6af8b0a70afd3bc42977dad26920e72b68"},"previous_names":[],"tags_count":628,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncthing%2Fsyncthing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncthing%2Fsyncthing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncthing%2Fsyncthing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncthing%2Fsyncthing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syncthing","download_url":"https://codeload.github.com/syncthing/syncthing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253789285,"owners_count":21964649,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","p2p","peer-to-peer","synchronization"],"created_at":"2024-07-30T18:01:31.169Z","updated_at":"2026-01-06T14:12:58.994Z","avatar_url":"https://github.com/syncthing.png","language":"Go","readme":"# Docker Container for Syncthing\n\nUse the Dockerfile in this repo, or pull the `syncthing/syncthing` image\nfrom Docker Hub.\n\nUse the `/var/syncthing` volume to have the synchronized files available on the\nhost. You can add more folders and map them as you prefer.\n\nNote that Syncthing runs as UID 1000 and GID 1000 by default. These may be\naltered with the `PUID` and `PGID` environment variables. In addition\nthe name of the Syncthing instance can be optionally defined by using\n`--hostname=syncthing` parameter.\n\nTo grant Syncthing additional capabilities without running as root, use the\n`PCAP` environment variable with the same syntax as that for `setcap(8)`.\nFor example, `PCAP=cap_chown,cap_fowner+ep`.\n\nTo set a different umask value, use the `UMASK` environment variable. For\nexample `UMASK=002`.\n\n## Example Usage\n\n**Docker cli**\n```\n$ docker pull syncthing/syncthing\n$ docker run --network=host  -e STGUIADDRESS= \\\n    -v /wherever/st-sync:/var/syncthing \\\n    syncthing/syncthing:latest\n```\n\n**Docker compose**\n```yml\n---\nversion: \"3\"\nservices:\n  syncthing:\n    image: syncthing/syncthing\n    container_name: syncthing\n    hostname: my-syncthing\n    environment:\n      - PUID=1000\n      - PGID=1000\n      - STGUIADDRESS=\n    volumes:\n      - /wherever/st-sync:/var/syncthing\n    network_mode: host\n    restart: unless-stopped\n    healthcheck:\n      test: curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1\n      interval: 1m\n      timeout: 10s\n      retries: 3\n```\n\n## Discovery\n\nPlease note that Docker's default network mode prevents local IP addresses\nfrom being discovered, as Syncthing can only see the internal IP address of\nthe container on the `172.17.0.0/16` subnet. This would likely break the ability\nfor nodes to establish LAN connections properly, resulting in poor transfer\nrates unless local device addresses are configured manually.\n\nIt is therefore strongly recommended to stick to the [host network mode](https://docs.docker.com/network/host/),\nas shown above.\n\nBe aware that syncthing alone is now in control of what interfaces and ports it\nlistens on. You can edit the syncthing configuration to change the defaults if\nthere are conflicts.\n\n## GUI Security\n\nBy default Syncthing inside the Docker image listens on `0.0.0.0:8384`. This\nallows GUI connections when running without host network mode. The example\nabove unsets the `STGUIADDRESS` environment variable to have Syncthing fall\nback to listening on what has been configured in the configuration file or the\nGUI settings dialog. By default this is the localhost IP address `127.0.0.1`.\nIf you configure your GUI to be externally reachable, make sure you set up\nauthentication and enable TLS.\n","funding_links":["https://github.com/sponsors/syncthing","https://syncthing.net/donations/"],"categories":["Go","File Synchronization","HarmonyOS","开源类库","Apps","Misc","Applications","Repositories","p2p","Operation System","Golang","go","Open source library","工具","Interaction","A list of FOSS backup software","[Go](#go)","Cross-Platform","网络服务","Web 项目","File Sharing","Go Tools","Application Recommendation","Table of Contents","Sync-Tools","Projects","Data Management","File Sync \u0026 Backup","File Management"],"sub_categories":["Tox","Windows Manager","文件/存储","Syncing","Sharing Files","Database and Record","Files/Storage","效率工具","Storage and Record","JavaScript","网络服务_其他","Other Software","☁️ Cloud storage","Sync","Data Storage and Sharing","Sync and Clone"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyncthing%2Fsyncthing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyncthing%2Fsyncthing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyncthing%2Fsyncthing/lists"}