自建Syncthing中继服务器和发现服务器
1.中继服务器
1.1 安装
利用Apt进行安装
apt install syncthing-relaysrv -y
1.2 注册守护进程
配置一个systemd系统服务即可
vim /etc/systemd/system/strelaysrv.service
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=man:syncthing(1)
After=network.target
[Service]
User=root
ExecStart=/usr/bin/strelaysrv -pools="" -token=xxxxxxxx
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
需要注意的是 这里有2个参数配置比较重要
- -pools="" 代表不加入公共中继池
- -token=xxxxxxxx 代表连接的时候需要匹配token参数,否则无法中继
1.3 重载systemd,启动并检查日志
systemctl daemon-reload
systemctl start strelaysrv
journalctl -u strelaysrv
在日志中会出现 server的deviceId 这个需要记录下来
也就是id=
后面的部分
1.4 客户端配置中继服务器
打开syncthing的管理面板
在协议监听地址
填写刚才的服务器配置 格式如下
default,relay://[ip]:22067?id=xxxxxxx&token=xxxxxx
2.发现服务器
2.1.安装
发现服务器也可以通过apt进行安装,不过我这里演示Docker的做法
docker compose文件如下
version: "3"
services:
# 自建syncthing的发现服务器 discovery-servier
syncthing_discovery_server:
image: syncthing/discosrv
container_name: syncthing-discovery-server
command: -debug -listen=":8443"
environment:
- PUID=1000
- PGID=1000
volumes:
- ./syncthing/discosrv:/var/stdiscosrv
ports:
- 8443:8443 # Listen address (default “:8443”)
2.2.开放防火墙
2.3.查看日志记录 serverId 填写到客户端
docker logs syncthing-discovery-server
在第一行就可以看到 deviceId
然后填写到客户端
格式如下
default, https://ip:8443?id=xxxxxxxxxxxxxxxxxx