树莓派搭建syncthing同步文件 freecrazy 2021-12-04T21:45:07+08:00 2412

多端同步工具syncthing

一、前因

新一代笔记管理工具obsidian免费版不支持多端同步,但是它是针对本地文件管理的,所以换个角度,只需要将库文件多端同步即可。

支持国产的可以使用威力同步。我这里使用比较火的syncthing。

实测obsidian的配置也能自动同步,不需要每台电脑再次安装插件了。

原则上任意两个设备就可以实现同步了,比如,你的电脑与公司电脑。

但是自己家里电脑不可能一直开机,所以我加入了树莓派,毕竟一直开着的。

简单来说就是,树莓派当中央库,自己电脑同步中央库,公司电脑同步中央库,当然你要上个保险,在你的云服务器中同步一份也可以,4个端一起丢失这个概率应该近乎为零。

开搞。

二、树莓派安装

syncthing,是用GO语言(个人最爱)编写的,所以运行简单。

我这里在树莓派中使用docker-compose安装,便于管理。

老套路了,新建目录及docker-compose.yml文件,贴入以下内容:

version: "3"
services:
  syncthing:
    image: syncthing/syncthing
    container_name: syncthing
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - /data/sync:/var/syncthing  # 同步文件夹
    ports:
      - 8384:8384  # 端口
      - 22000:22000/tcp
      - 22000:22000/udp
    restart: unless-stopped

保存后输入 docker-compose up -d 运行。

输入树莓派IP+端口(8384),进入web页面,改成中文之后,应该都能看懂。

首先,设置网页密码。

设置同步文件夹,删除默认生成的重建,或者直接编辑默认的。

树莓派中我选择开启版本控制,这样可以回退到其他版本,注意,只有其他端修改的才会有版本记录,大家按需选择,每个框下面的说明比我说的更清楚,这里我选择简易版本。

保存之后,树莓派端就搭建成功了,obsidian这个文件夹我们就可以同步了。接下来我们在自己电脑上安装syncthing。

三、自己电脑安装(window)

官方的客户端打开之后是个小黑框,而且需要弹出浏览器配置,比较low,这里使用SyncTrayzor,下载地址:https://github.com/canton7/SyncTrayzor/releases

下载之后,一路下一步,然后打开,跟树莓派一样,设置密码,删除默认文件夹,我们这里只需要同步树莓派中的文件夹,就不需要新建文件夹了。

使用方法,点击添加远程设备,输入树莓派中的ID,没有人在中文界面还找不到ID在哪吧?

点击保存,骚等片刻,树莓派那边网页会显示是否同意啥的,点击确认即可。

流程是需要双向绑定,所以,我们在树莓派网页那边也去绑定自己电脑的ID,树莓派那边记得把共享文件夹打上勾。

保存之后,电脑端应该会有两次确认,一次是确认设备添加,一次是确认同步文件,都点确定就可以了。同步文件记得改掉保存路径,C盘空间大,默认也可。

最后,在电脑端或者树莓派端,往同步文件夹添加文件,就会互相同步了。

四、公司电脑安装

也是window,重复上面操作即可。

五、优化

先解释两个概念。

发现服务器:

自己电脑与树莓派都在家中,也就是同一个网络下面,它们两个能互相找到设备ID,那是毋庸置疑的,但是公司网络跟树莓派不在一个网络,为什么也能互相找到设备ID呢?

那是因为syncthing给我们提供了全球发现服务器,建好的syncthing设备ID会自动上传到全球服务器中,便于我们连接。

全球服务器在国外,所以有时候连接不是那么稳点,也不安全,所以需要自己建立一个发现服务器。

中继服务器:

两个设备之间有了发现服务器虽然找是可以找到了,但是数据传输同步,是通过中继服务器来传输的,还是一样的问题,syncthing使用的是全球中继服务器,它也在国外,所以为了同步速度快点,我们也需要自建中继服务器。

我们可以在设置页面看到syncthing默认使用的都是default服务器,所以我们要做的优化就是换成我们自建的。

搭建起来也是简单的很,下载文件,然后运行就可以了。

发现服务器:https://github.com/syncthing/discosrv/releases

中继服务器: https://github.com/syncthing/relaysrv/releases

选择对应的版本下载,我用树莓派充当中继与发现服务器,所以下载的是arm64文件。

拷贝到树莓派目录,解压

discosrv运行,官方文档:https://docs.syncthing.net/users/stdiscosrv.html?utm_source=ld246.com

./stdiscosrv

会出来个ID,记下来,默认会去申请https证书。记得开放端口8443。

https://你的ip:8443/?id=你的id

relaysrv运行,官方文档:https://docs.syncthing.net/users/strelaysrv.html?utm_source=ld246.com

./strelaysrv -pools=""

pool参数不想让别人用流量请留空,其他参数,没必要。运行之后会出来URI,把它记录下来。记得开放22067,22070端口

relay://你的ip:22067/?id=你的id&pingInterval=1m0s&networkTimeout=2m0s&sessionLimitBps=0&globalLimitBps=0&statusAddr=:22070&providedBy=

上面运行命令按ctrl+c就会停掉,所以我们需要后台启动还有开机自启,方式有很多,可以nohup,supervisor,systemd等,这里选择systemd。

新建并编辑发现服务器文件

vi /usr/lib/systemd/system/stdiscosrv.service

放入下面内容,记得改成你的文件路径

[Unit]
Description=stdiscosrv
After=network.target
Wants=network.target

[Service]
WorkingDirectory=/opt/syncthing
ExecStart=/opt/syncthing/stdiscosrv
Restart=on-failure
RestartSec=10s
KillMode=mixed

[Install]
WantedBy=multi-user.target

新建并编辑中继服务器文件

vi /usr/lib/systemd/system/strelaysrv.service

放入下面内容,记得改路径。

[Unit]
Description=strelaysrv
After=network.target
Wants=network.target

[Service]
WorkingDirectory=/opt/syncthing
ExecStart=/opt/syncthing/strelaysrv
Restart=on-failure
RestartSec=10s
KillMode=mixed

[Install]
WantedBy=multi-user.target

运行下图命令,欸,我就放图,不让复制。

最后将你每个syncthing端都填入上面记录好的地址,如果需要与默认的服务器共存,再defaul后面加逗号添加即可。

保存之后,侦听程序,设备发现有数字就算成功。

开始显示同步的乐趣吧,syncthing也有手机端,可以同步照片啥的,我以前搭建了FileRun,就不去使用它了。需要使用的下载好就行,配置也不难。

六、总结

总啥结,洗洗睡。

© 2021 - 2024 闲余悟道

载入运行时间...

avatar
关于我

癫狂乐天,狂放不羁,叛世逆俗,天纯不可一世。

跑酷

游戏玩腻,自个寻的,只喜纯跑,不喜炫技

滑板

身处异乡,未找到跑酷伙伴,转投滑板,oli练到死

骑行

通勤会的,通着通着成了爱好,不攀里数,不懂车构,菜腿一枚

爬山

老妈生错了生肖,喜欢在台阶或石头上蹦跶

设计

大学学的,PS效率实用流

代码

培训得的,已弃坑,得益于此,软件玩得起飞,如本博客内容

剪辑

无聊学的,人生苦短,想学的太多,学会罢了,我应该会了了吧……

写作

读书多了自然而然就……he,tui,人人都会,正在精进中

独自环过岛

海南岛,9天骑行,一人一包一帐篷,事故故事一堆堆

只身入过藏

心之所向,21点的太阳妙不可言

万里路

不少,如……

万卷书

微多,如……


人生苦短,繁华三千,可纵情声色,亦可摇桨泛舟。

碎年流光,若都平淡如水,岂非虚度一遭。

波澜不惊的一生虽不可恨,但数载光阴就历尽沧桑的生活应该更畅快。

别试图在文章末尾评论处留言,那只是摆设,不过若是打赏,我定会收到心意。联系方式本页社交链接中有猫腻。

清心决

心若冰清,天塌不惊。

万变犹定,神怡气静。

尘垢不沾,俗相不染。

虚空甯宓,浑然无物。

无有相生,难易相成。

份与物忘,同乎混涅。

天地无涯,万物齐一。

飞花落叶,虚怀若谷。

千般烦忧,才下心头。

即展眉头,灵台清幽。

心无挂碍,意无所执。

解心释神,莫然无魂。

水流心不惊,云在意俱迟。

一心不赘物,古今自逍遥。

自由转载-非商用-转载注明出处即可。