TrueNAS 篇三:TrueNAS Scale入坑指南No.3—— Synchting的部署(Syncthing及发现和中继服务器的部署)

2023-08-31 08:08:10 7点赞 53收藏 9评论

一、前言

在使用TrueNAS之前,我一直使用的同步应用是群晖的Drive套件。但只能在群晖NAS和PC之间同步文件,手机端仅能同步相册,这就导致我微信中的文件只能通过数据线拷贝出来之后再进行整理。而Syncthing可以非常方便的在手机端指定文件夹进行同步。等有时间的时候再统一进行整理。听说Drive移动端出了新版本,不知道是否有所改进,但我已经用习惯了Syncthing,也懒得换回去。关于Syncthing的内容会比较多,我将它分成了两个篇章。

第一篇:Synchting的部署(Syncthing及其发现和中继服务器

第二篇:同步体系规划和Synchting的使用

二、部署Syncthing

1、到hub.docker网站搜索Syncthing,可以查找到syncthing/syncthing或者linuxserver/syncthing,这两个都是官方认可的镜像,部署方式也大同小异。

这里是官方的Docker compose部署参数:

version: "3"

services:

syncthing:

image: syncthing/syncthing

container_name: syncthing

hostname: my-syncthing

environment:

- PUID=1000

- PGID=1000

volumes:

- /wherever/st-sync:/var/syncthing

ports:

- 8384:8384 # Web UI

- 22000:22000/tcp # TCP file transfers

- 22000:22000/udp # QUIC file transfers

- 21027:21027/udp # Receive local discovery broadcasts

restart: unless-stopped

先解释一下这段代码:

其实只需要关注environment、volumes、ports部分所对应的代码。

environment就是设置环境变量,Syncthing需要设置两个环境变量PUID和PGID,这两个环境变量是用来指定docker容器拥有哪个用户和用户组来的权限,默认的代码里给的变量值是1000,在旧版的TrueNAS Scale中建立的第一个用户和用户组的ID默认是1000,但在目前新版本的TrueNAS Scale中第一个用户的用户ID和用户组ID默认是3000。所以在部署的时候要注意改为3000。如果新建用户和用户组的时候手动设置了用户和用户组的ID,这里就按照手动设置的ID来填写即可。

volumes对应的是需要同步的文件夹,为了方便,我把所有需要同步的文件都放在同一个文件夹中,其实也可以设置多个映射路径,这个看个人的需要。

ports对应的是端口映射,docker实质上就是一台轻量化的虚拟机,在docker的运行机制下外部设备是没有办法直接访问docker的内部端口,因此需要把docker内部的端口映射到宿主机,也就是你的NAS的端口上(有点DDNS端口转发的意思),这时候访问NAS的ip+端口号就相当于访问docker内部的端口。

2、登录TrueNAS Scale,在左侧选择“应用”,点击右上角蓝色的“启动Docker镜像”

Syncthing部署Syncthing部署

3、在“应用名称”中自定义一个方便自己识别的应用名称,应用名称有格式要求,如果出现提示按照要求格式修改下,这里我填写的是syncthing。在下方“Image repository”中填写镜像名称,这里我填写的是官方的镜像“syncthing/syncthing”,镜像名称必须与hub.docker网站上的名称一致,版本使用默认的“latest”

Syncthing部署Syncthing部署

4、继续往下,来到“Container Environment Variables”,设置环境变量,点击右侧的“添加按钮”,添加两个环境变量PUID、PGID,对应的ID都是3000,需要注意的是这个用户和用户组对你要同步的文件夹要有读写权限,否则无法同步。

Syncthing部署Syncthing部署

5、继续往下,来到“Port Forwarding”,设置端口映射,点击右侧的添加按钮,这里一共需要映射4个端口号

主机端口,容器端口,端口协议

9001,8384,TCP

22000,22000,TCP

22000,22000,UDP

21027,21027,UDP

“Container Port”中填写的是docker容器的端口号,对应的是部署代码中冒号后面的数字,这个端口号不允许随便调整,“Node Port”是NAS主机的端口号,对应的是部署代码中冒号前的数字,可以根据自己的端口使用情况进行调整,但在TrueNAS Scale中,这个端口号必须大于等于9000。这里8384所映射出的9001端口,就是日后从浏览器访问的端口。

Syncthing部署Syncthing部署

前两个端口协议直接用默认的TCP协议即可,后面两个端口的协议要修改为UDP

Syncthing部署Syncthing部署

6、继续往下,来到“存储”,设置文件夹映射,“Host Path”是指你在NAS中的目录,可以根据自己实际的设置情况进行选择。“Mount Path”则是docker内部的路径,我官方的代码略微进行了调整,将/var/syncthing/work映射到NAS的/mnt/pool/work上,/var/syncthing/photo映射到NAS的/mnt/pool/photo,这样后续我可以按照这样的方式添加其他数据集。

Syncthing部署Syncthing部署Syncthing部署Syncthing部署

映射配置文件夹

这里还有一个重要的文件夹在代码中没有提及,那就是Synchting的配置文件夹,如果不设置这个文件夹的映射,那么在重启docker容器只有,Syncthing所有之前调整过的配置都会丢失,因此我们需要对配置文件进行映射

“Host Path”中选择NAS的/mnt/pool/docker/syncthing,“Mount Path”中填写/var/syncthing/config。

Syncthing部署Syncthing部署

7、之后其余设置都不需要更改,直接拉到最后,选择“保存”。

Syncthing部署Syncthing部署

这时系统应该会开始拉取镜像,并进行部署。如果拉取失败可以多尝试几次。或者使用魔法。

Synchting部署Synchting部署

8、当docker应用的标签由灰色的“DEPLOYING”变为绿色的“ACTIVE”时,说明部署成功了。之前设置的NAS在局域网中的IP地址是192.168.0.10,刚才为Synchting映射的web访问端口是9001,那么我们从浏览器地址栏中输入:http://192.168.0.10:9001,就可以开始使用Syncthing了。

Syncthing部署Syncthing部署Syncthing部署Syncthing部署

默认情况下Syncthing会使用公开的发现和中继服务器,这些服务器大多位于国外,在我的网络环境下,同步速度最高只有200KB/S,显然这样的同步速度远远达不到我的使用要求。按理说局域网中的机器应该能够直连,但我发现,局域网中的两台设备也经常会情不自禁的连上公开的服务器进行同步,我并不清楚其中的原因,因此我决定自己搭建,让设备尽量在局域网内直连。

公开的中继服务器全球分布情况公开的中继服务器全球分布情况

三、部署发现服务器

下面是docker-compose的部署代码:

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

首先需要在TrueNAS Scale中给发现服务器设置一个数据集,用于映射发现服务器的/var/stdiscosrv文件夹,这个数据集需要有相应的读写权限。相关操作可以查看之前的内容。这里我建立了一个“discosrv”数据集

部署发现服务器部署发现服务器

1、回到应用部署界面,“应用名称中”填写一个方便识别的名称,这里我填写的是:syncthing-discovery,“Image repository”中填写镜像名称:“syncthing/discosrv”。

部署发现服务器部署发现服务器

2、在“Container Environment Variables”中添加两个环境变量,PUID和PGID,变量值是在前文章中的用户和用户组的ID:3000。

部署发现服务器部署发现服务器

3、在“Port Forwarding”设置端口映射,“Container Port”容器端口为8443,不要填错,“Node Port”节点端口我这里设置为9443,也可以根据自己需要修改为其他9000以上没有被占用的端口号。“协议”保持默认的TCP即可。

部署发现服务器部署发现服务器

4、在“存储”中设置文件夹映射,“Host Path”中选择刚才我们已经建立好的“discosrv”数据集。“Mount Path”中填写docker容器内部的文件夹“/var/stdiscosrv”,这个同样不能修改。

部署发现服务器部署发现服务器

5、其余设置均保持默认,拉到最后点击“保存”,待应用右上角的状态变为绿色的“ACTIVE”之后,部署就算完成了。

部署发现服务器部署发现服务器

四、部署中继服务器

同样的,需要提前在TrueNAS Scale中给中继服务器准备一个数据集,用于映射中继服务器的/var/strelaysrv文件夹。

部署中继服务器部署中继服务器

1、回到应用部署界面,“应用名称中”填写一个方便识别的名称,这里我填写的是:syncthing-relay,“Image repository”中填写镜像名称:syncthing/relaysrv,这个不能填错。

部署中继服务器部署中继服务器

2、环境变量的设置与发现服务器一样,PUID和PGID都是3000。

部署中继服务器部署中继服务器

3、需要映射的端口是22067,因为已经大于9000了,所以这里容器端口和节点端口我都填写了22067。协议同样用默认的TCP即可。

部署中继服务器部署中继服务器

4、在“存储”中设置文件夹映射,“Host Path”中选择刚才我们已经建立好的“relaysrv”数据集,“Mount Path”中填写docker内部的文件夹“/var/strelaysrv”,这个同样不能修改。

TrueNAS Scale入坑指南No.3—— Synchting的部署(Syncthing及发现和中继服务器的部署)

5、其余设置均保持默认,拉到最后点击“保存”,待应用右上角的状态变为绿色的“ACTIVE”之后,部署就算完成了。

TrueNAS Scale入坑指南No.3—— Synchting的部署(Syncthing及发现和中继服务器的部署)

五、下期预告

Syncthing是一个功能相当强大的同步软件,部署只是成功的第一步,下一篇会介绍一下Syncthing的使用,以及如何使用我们自己搭建的发现服务器和中继服务器,还有如何去规划自己的数据,形成一个高效的同步体系。

展开 收起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2499元起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1799元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2386.51元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2421元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3299元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1669.01元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

3999元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3149元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1888.01元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

ZSpace 极空间 私有云 Z2Pro 2盘位NAS存储(RK3568、4GB)

ZSpace 极空间 私有云 Z2Pro 2盘位NAS存储(RK3568、4GB)

1070.51元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

1866.01元起
9评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
天猫超级红包
距结束::
每天领现金,最高24888元
红包按钮
最新文章 热门文章
53
扫一下,分享更方便,购买更轻松