Syncthing 的docker容器docker-compose.yml配置文件
services:
syncthing:
image: lscr.io/linuxserver/syncthing:latest
container_name: syncthing
hostname: syncthing #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /path/to/syncthing/config:/config
- /path/to/data1:/data1 #这里目录映射要共享的数据文件目录
- /path/to/data2:/data2 #使用几个目录就添加几个
ports:
- 8384:8384
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
restart: unless-stopped
注意:开放相应使用的端口
Syncthing 的发现服务器和中继服务器部署
发现服务器和中继服务器的docker-compose.yml
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”)
restart: always
# 自建syncthing的中继服务器 syncthing-relay-server
syncthing_relay_server:
image: syncthing/relaysrv:latest
container_name: syncthing-relay-server
command: -debug -pools="" -listen=":22067"
environment:
- PUID=1000
- PGID=1000
volumes:
- ./syncthing/strelaysrv:/var/strelaysrv
ports:
- 22067:22067 # 中继服务器的数据连接端口(必须开启)
#- 22070:22070 # 用于公用的中继服务器池,显示数据传输、客户端数量等状态,可不开启
restart: always
注意:开放相应使用的端口
查看服务器ID
# 查看syncthing-discovery-server日志获取Server device ID
docker logs syncthing-discovery-server
# 查看syncthing-relay-server日志获取URI
docker logs syncthing-relay-server
Syncthing 中配置格式
# 协议监听地址,中继服务URI
relay://IP:22067?id=中继服务器ID
# 全局发现服务器
https://IP:8443/?id=发现服务器ID
Syncthing 证书目录
MacOS:
~/Library/Application Support/Syncthing
Windows
C:\Users\dino\AppData\Local\Syncthing
Linux中配置
1.安装homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#安装后按照提示再运行下面命令
echo >> /home/dino/.bashrc
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/dino/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
#这三行别复制我的,你的终端里有提示!!!
2.homebrew方式安装syncthing
brew install syncthing
3.运行syncthing,并附带跨域访问gui参数
#直接运行命令,前台运行,也可
syncthing -gui-address=0.0.0.0:8384
#或者也可以修改配置文件,如果长期后台服务运行建议此方法
~/.local/state/syncthing/config.xml
寻找关键字 127.0.0.1 => 修改成 0.0.0.0
4.使用brew services进行服务挂载
#修改配置文件后运行
brew services start syncthing
#此时syncthing即可后台服务运行
#下面是管理服务的相关命令
- `brew services list` 查看 Homebrew 管理的所有服务及其状态
- `brew services stop syncthing` 停止 Syncthing 服务
- `brew services restart syncthing` 重启 Syncthing 服务
5.防火墙设置
上面3个步骤结束后原则上就可以通过http://ip:8384访问gui界面了,如果不行请查询防火墙端口放行情况。下面命令是关闭防火墙或强制放行syncthing所有要用到的gui界面端口以及数据同步端口
#根据不同linux系统关闭防火墙
sudo ufw disable
或者
sudo firewall-cmd --zone=public --add-service=syncthing --permanent
sudo firewall-cmd --zone=public --add-service=syncthing-gui --permanent
sudo firewall-cmd --reload