雨云搭建 Syncthing 文件同步中枢

用雨云 KVM 云服务器部署 Syncthing 24小时同步中枢,多设备文件一致 + 顺手多一份异地副本
发布于 更新于
6

工作电脑、家里电脑、手机三头跑的人都遇到过同一个问题:文件版本散落在各处,靠微信传自己、U 盘拷来拷去,早晚出乱子。网盘同步是一个办法,但速度看心情、隐私看运气。Syncthing 是开源的点对点文件同步工具,数据端到端加密直传,不经过任何厂商服务器。本文在雨云 KVM 云服务器上部署一个 24 小时在线的 Syncthing 中枢节点,让多台设备无论在不在线都能保持文件一致。

为什么需要一台 VPS 当同步中枢

Syncthing 本身是去中心化的,两台设备都在线时可以直连同步。但现实里工作电脑白天开、家里电脑晚上开,两者几乎没有同时在线的时候,同步就一直「等待连接」。

解决办法是加一台 24 小时在线的 VPS 作为中枢节点:所有设备都和它同步,A 设备白天把变更推给中枢,B 设备晚上上线后从中枢拉取,时间错开也不影响。同时中枢上天然多出一份异地副本,等于顺手做了备份。国内设备之间 NAT 穿透成功率一般,有一台有公网 IP 的中枢,同步速度和成功率都会稳定得多。

服务器选择

同步中枢对 CPU 要求很低,关键是硬盘容量和带宽稳定性。我用的是雨云 KVM 云服务器(官网入口在这),1 核 2G 配数据盘,宁波/深圳节点对国内设备直连速度快,下单优惠码 admin01 五折,7 天无理由退款。第一次买雨云可以先看 雨云 VPS 选购与上手指南

Docker 部署 Syncthing

mkdir -p /opt/syncthing/{config,data} && cd /opt/syncthing

docker-compose.yml

services:
  syncthing:
    image: syncthing/syncthing:latest
    container_name: syncthing
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
    ports:
      - "127.0.0.1:8384:8384"   # Web 管理界面,仅本机
      - "22000:22000/tcp"        # 同步端口
      - "22000:22000/udp"
    volumes:
      - ./config:/var/syncthing/config
      - ./data:/var/syncthing/data

要点:8384 管理界面绑定 127.0.0.1,只通过 Nginx 反代 + 密码访问;22000 同步端口必须对公网开放(服务器防火墙和雨云安全组都要放行 TCP/UDP),否则设备只能走中继,速度大打折扣。

docker compose up -d

初始配置与设备互联

用 Nginx 给 8384 配好反代和 HTTPS 后打开管理界面,先做三件事:

  1. 「设置 → 图形用户界面」设置管理账号密码——Syncthing 默认无密码,这步不能省。
  2. 记下本机的设备 ID(「操作 → 显示 ID」)。
  3. 关闭全局发现里不需要的选项,中枢有固定公网 IP,各设备可直接用 tcp://服务器IP:22000 作为地址,连接又快又稳。

然后在电脑、手机(Android 有官方 Syncthing 客户端,桌面端跨平台全覆盖)上添加中枢的设备 ID,中枢端接受配对,再把要同步的文件夹分享给对应设备即可。

推荐的文件夹策略

  • 工作文档:双向同步,中枢 + 两台电脑三方一致。
  • 手机相册:手机端设为「仅发送」,中枢设为「仅接收」,变成单向自动备份,手机误删不会传染到服务器。
  • 版本控制:给重要文件夹开「简单文件版本控制」,保留最近 5 个版本,防手滑覆盖。

注意 Syncthing 是同步不是备份,两端一致意味着误删也会同步。版本控制 + 中枢上的「仅接收」文件夹能补上这块短板;更稳妥的做法是中枢再定期把数据推一份到 AList 挂载的对象存储 做冷备。

踩坑记录

  • 一直显示「正在连接」:99% 是 22000 端口没放行,防火墙和云平台安全组两处都要检查。
  • 同步速度慢:看设备详情里连接类型是不是「中继」,是的话就是直连没建立,手动把中枢地址填成 tcp://IP:22000 强制直连。
  • inotify 监听数不够:Linux 下大量小文件会报 watch 限制,宿主机执行 sysctl -w fs.inotify.max_user_watches=204800 并写入 sysctl.conf。
  • 权限冲突:PUID/PGID 和挂载目录属主对不上会同步失败,chown -R 1000:1000 /opt/syncthing/data 解决。

服务跑起来后,我照例把它挂进 Uptime Kuma 监控在线状态,入口收进 Heimdall 导航页,中枢节点从此就是个无感存在。

合规提醒

Syncthing 仅用于同步自有或已获授权的文件。依据《网络安全法》《个人信息保护法》《数据安全法》,请勿利用同步服务传播侵权内容或非法收集他人个人信息;管理界面务必设置强密码并启用 HTTPS,含个人信息的目录建议开启 Syncthing 的传输加密与受保护文件夹密码。

小结

一台雨云低配 KVM 当 Syncthing 中枢,解决了多设备不同时在线、NAT 穿透不稳两大痛点,还顺手多了一份异地副本。数据端到端加密、不过第三方服务器,1 核 2G 配数据盘的成本用优惠码 admin01 五折拿下,是多设备党性价比很高的一笔基础设施投入。

常见问题(FAQ)

为什么 Syncthing 需要一台 VPS 当中枢?
Syncthing 要求两端同时在线才能同步,工作电脑和家里电脑作息错开就会一直等待连接。24 小时在线的 VPS 中枢让各设备错时同步,同时多一份异地副本,直连成功率也更高。
Syncthing 一直显示正在连接怎么办?
绝大多数是 22000 端口(TCP+UDP)没放行,服务器防火墙和雨云安全组两处都要检查;直连不成时会走中继导致速度很慢,可手动填 tcp://服务器IP:22000 强制直连。
Syncthing 能当备份用吗?
同步不等于备份,误删会双向传染。可以用手机端仅发送+中枢仅接收做单向备份,再开简单文件版本控制保留历史版本,重要数据另推对象存储冷备。
雨云优惠码 admin01 怎么用?
雨云下单页优惠码/推广码输入框填 admin01 即享五折,以结算页显示为准。同步中枢 1核2G 配数据盘即可,支持 7 天无理由退款。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

用雨云 KVM 云服务器配置 rclone 云盘同步与挂载:对接对象存储 S3 后端、sync 增量同步、mount 挂载成磁盘、断点续传与定时备份,含优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Outline 团队文档协作(Outline+PostgreSQL+Redis+对象存储),配 Nginx 反代 HTTPS、空间权限与备份。含环境变量坑与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Immich 自建相册:手机原图自动备份、时间线与相册、人脸识别取舍、内存配置建议与备份,含优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 部署 AList,把阿里/天翼/115/本地等存储聚合成一个目录树,支持 WebDAV 挂载。含访客权限、网盘令牌与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Cloudreve 网盘:对象存储直传、外链分享、离线下载,轻量可替代 Nextcloud,含优惠码 admin01 五折。