Syncthing Linux 部署教程
🧩 Syncthing Linux 部署教程
本教程基于 Syncthing v2.0.10(amd64),适用于 CentOS、Ubuntu、Debian 等主流 Linux 系统。
内容涵盖从下载安装 → 远程访问 → 自启服务 → 日常维护 → 故障排查。
一、下载安装
1️⃣ 下载官方压缩包
从 GitHub 官方发布页获取对应版本:
🔗 https://github.com/syncthing/syncthing/releases/tag/v2.0.10
或使用命令下载:
wget https://github.com/syncthing/syncthing/releases/download/v2.0.10/syncthing-linux-amd64-v2.0.10.tar.gz
2️⃣ 解压与安装
tar -xzf syncthing-linux-amd64-v2.0.10.tar.gz
cd syncthing-linux-amd64-v2.0.10
sudo mv syncthing /usr/local/bin/
验证版本:
syncthing --version
输出示例:
syncthing v2.0.10 "Hafnium Hornet" (go1.25.1 linux-amd64)
二、首次运行与配置
1️⃣ 初始化配置
syncthing
首次运行后会生成配置文件目录:
~/.config/syncthing/
当你看到:
GUI and API listening on 127.0.0.1:8384
My ID: ABCD-EFGH-IJKL-MNOP-QRST-UVWX-YZ12-3456
说明启动成功。
按 Ctrl + C 停止运行。
2️⃣ 修改为可远程访问 Web GUI
编辑配置文件:
vi ~/.config/syncthing/config.xml
没有的话,看看 vi ~/.local/state/syncthing/config.xml
找到:
<address>127.0.0.1:8384</address>
改为:
<address>0.0.0.0:8384</address>
这将允许从其他设备访问管理界面。
注意检查防火墙
3️⃣ (推荐)设置访问用户名和密码
在 <gui> 节点中添加:
<user>admin</user>
<password>yourpassword</password>
🔐 密码将在下一次启动时自动哈希加密。
三、设置 Systemd 自启服务
1️⃣ 创建服务文件
sudo vi /etc/systemd/system/syncthing.service
粘贴以下内容:
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=man:syncthing(1)
After=network.target[Service]
ExecStart=/usr/local/bin/syncthing --no-browser --gui-address=0.0.0.0:8384 --logflags=0
Restart=on-failure
RestartSec=10
User=root
Group=root
UMask=0027
Environment=STNORESTART=1[Install]
WantedBy=multi-user.target
保存退出(Esc → :wq → 回车)。
2️⃣ 启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable syncthing
sudo systemctl start syncthing
查看状态:
sudo systemctl status syncthing
输出示例:
Active: active (running)
四、访问管理界面
在浏览器中访问:
http://<服务器IP>:8384
如果设置了用户名密码,将提示登录。
首次进入可看到 Syncthing 的设备 ID 和同步管理界面。
五、验证与检查
检查进程
ps aux | grep syncthing
检查端口监听
ss -tlnp | grep 8384
实时查看日志
journalctl -u syncthing -f
查看配置与状态目录
ls -l ~/.config/syncthing/
ls -l ~/.local/state/syncthing/
六、日常维护命令速查表
| 操作 | 命令 |
|---|---|
| 查看状态 | systemctl status syncthing |
| 启动服务 | systemctl start syncthing |
| 停止服务 | systemctl stop syncthing |
| 重启服务 | systemctl restart syncthing |
| 设置开机自启 | systemctl enable syncthing |
| 禁止开机自启 | systemctl disable syncthing |
| 查看实时日志 | journalctl -u syncthing -f |
| 查看最近 50 行日志 | journalctl -u syncthing -n 50 |
| 查看端口占用 | `ss -tlnp |
| 手动调试运行 | /usr/local/bin/syncthing --no-browser --logflags=0 |
七、配置目录说明
| 目录 | 说明 |
|---|---|
~/.config/syncthing/ | 核心配置文件目录(config.xml、证书、数据库) |
~/.local/state/syncthing/ | 运行状态缓存、索引、锁文件 |
.stversions/ | 每个同步文件夹中的历史版本目录 |
八、安全与优化建议
- ✅ 设置 Web 界面登录密码
- ✅ 防火墙仅允许特定 IP 访问 8384
- ✅ 定期清理
.stversions/历史版本 - ✅ 保持服务器时间同步(建议启用 NTP)
- ✅ 高负载设备可在 GUI 中调低扫描频率
九、常见问题排查
| 问题 | 原因 | 解决办法 |
|---|---|---|
status=80 启动失败 | 启动参数写错(单横线) | 改成 --no-browser 双横线 |
| 无法访问 8384 | 端口被防火墙或 GUI 限制 | 放行端口或修改为 0.0.0.0 |
| 数据库锁定错误 | 进程异常退出 | 删除 index-v0.14.0.db/LOCK 文件后重启 |
.stversions 太大 | 历史版本保留过多 | 调整 File Versioning 策略或定期清理 |
十、备份与恢复
备份配置
tar czf syncthing-config-backup.tar.gz ~/.config/syncthing/
恢复配置
tar xzf syncthing-config-backup.tar.gz -C ~/
✅ 总结
- 安装路径:
/usr/local/bin/syncthing - 配置目录:
~/.config/syncthing/ - 状态目录:
~/.local/state/syncthing/ - Web 界面:
http://<IP>:8384 - 服务控制:
systemctl [start|stop|status|enable] syncthing
至此,你的 Syncthing 已能在 后台长期运行、系统重启后自动启动,
并支持 远程 Web 管理 与 版本历史恢复 功能。
