Syncthing 文件同步部署

简介

Syncthing 是一个开源的 P2P 文件同步工具,支持跨平台实时同步。

核心特性

  • 去中心化 - 无中心服务器,P2P 直连
  • 加密传输 - TLS 端到端加密
  • 跨平台 - Windows/macOS/Linux/Android/iOS
  • 实时同步 - 文件变更自动同步
  • 版本控制 - 保留历史版本
  • 选择性同步 - 按文件夹配置

部署方式

使用 Docker 部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建数据目录
mkdir -p /var/www/dapalm/syncthing/{config,data}

# 启动容器
docker run -d \
--name syncthing \
--restart=always \
-p 127.0.0.1:8384:8384 \
-p 22000:22000/tcp \
-p 22000:22000/udp \
-p 21027:21027/udp \
-v /var/www/dapalm/syncthing/config:/config \
-v /var/www/dapalm/syncthing/data:/data \
syncthing/syncthing:latest

端口说明

端口 协议 用途
8384 TCP Web UI(仅本地)
22000 TCP/UDP 设备连接
21027 UDP 本地发现

Nginx 反向代理

1
2
3
4
5
6
7
8
9
10
11
12
location /sync/ {
proxy_pass http://127.0.0.1:8384/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}

访问地址


首次使用

1. 设置管理员密码

首次访问会提示设置用户名和密码,建议设置强密码。

2. 添加设备

在其他设备上安装 Syncthing 客户端:

3. 连接设备

  1. 在 Web UI 中点击「添加远程设备」
  2. 输入对方的设备 ID(在对方设备的「操作 → 显示ID」中查看)
  3. 对方设备确认连接请求

4. 共享文件夹

  1. 点击「添加文件夹」
  2. 设置文件夹标签和路径
  3. 在「共享」选项卡中选择要共享的设备
  4. 保存后等待同步

使用场景

工作文档同步

1
电脑 A(办公室) ←→ 电脑 B(家里)
  • 工作文档自动同步
  • 支持版本回退
  • 冲突自动处理

照片备份

1
手机 → 电脑/NAS
  • 拍照自动备份
  • 原图无损传输
  • 节省云存储费用

代码同步

1
开发机 ←→ 测试服务器
  • 代码自动部署
  • 支持忽略文件(.stignore)
  • 快速迭代测试

高级配置

忽略文件

创建 .stignore 文件:

1
2
3
4
5
6
7
8
9
10
# 忽略 node_modules
node_modules/

# 忽略临时文件
*.tmp
*.log

# 忽略系统文件
.DS_Store
Thumbs.db

版本控制

在文件夹设置中启用版本控制:

  • 垃圾桶版本控制 - 保留删除的文件
  • 简单版本控制 - 保留最近 N 个版本
  • 阶梯版本控制 - 按时间保留版本

文件类型限制

在文件夹设置中配置:

  • 只接收特定类型文件
  • 忽略大文件
  • 按正则表达式过滤

安全建议

  1. ✅ 设置 Web UI 密码
  2. ✅ 启用 HTTPS 访问
  3. ✅ 配置防火墙规则
  4. ✅ 定期备份配置文件
  5. ✅ 审核设备连接请求

常见问题

Q: 同步速度慢?

A:

  • 检查网络带宽
  • 启用中继服务器(如需跨网同步)
  • 调整并发连接数

Q: 文件冲突怎么办?

A:
Syncthing 会自动保留两个版本:

  • file.txt - 当前版本
  • file.sync-conflict-20260301-120000.txt - 冲突版本

手动比较后删除不需要的版本。

Q: 如何迁移配置?

A:
备份并复制以下文件:

  • /config/config.xml - 主配置
  • /config/cert.pem - 证书
  • /config/key.pem - 私钥

相关资源


访问地址: https://dapalm.com/sync/


持续更新中…


Syncthing 文件同步部署
https://dapalm.com/2026/03/01/Syncthing文件同步部署/
作者
Mars
发布于
2026年3月1日
许可协议