- 介绍 {#1-介绍}
之前和大家聊过------【服务器备份系列】聊一聊服务器备份那些事儿|VPS备份总览
这期和大家介绍一个GitHub上开源免费的多平台文件同步的项目------Syncthing
目前已经有43.7K
的星星。
支持Linux、Windows、macOS等平台的使用。
1.1 特点 {#11-特点}
Syncthing是一个连续的文件同步程序。它可以在两台或更多的计算机之间同步文件。
咕咕用了几天,总结了下面几个特点:
- 中文友好(支持中文界面)
- 设置简单,易上手
- 支持Linux、Windows、macOS(NAS也可以方便部署)
- 同步效率不错
- 支持版本控制(可以恢复到指定的版本)
- Docker部署方便
- 支持同步加密,保护数据安全(不过咕咕还不知道如果解密,后续可以阅读一下文档,有知道的小伙伴也欢迎留言区留言和大家分享一下)
- 支持一对多、多对一、一对一
- 使用的人比较多,发现问题可以比较容易搜索到解决方案。(毕竟GitHub上都有4万多的star = =)
- 项目展示 {#2-项目展示}
GitHub项目地址:https://github.com/syncthing/syncthing
文档地址:https://docs.syncthing.net/intro/getting-started.html
客户端下载:https://github.com/syncthing/syncthing/releases
本文用的Docker镜像:https://hub.docker.com/r/linuxserver/syncthing
2.1 英文界面 {#21-英文界面}
2.2 中文界面 {#22-中文界面}
2.3 设置好登陆密码 {#23-设置好登陆密码}
2.4 设备唯一标识 {#24-设备唯一标识}
2.5 添加共享文件夹 {#25-添加共享文件夹}
2.6 版本控制 {#26-版本控制}
- 搭建环境 {#3-搭建环境}
- 服务器:~~腾讯香港轻量应用服务器24元/月VPS一台~~ 展示用的是MacBook Air M1,本期搭建用的是Hetzner的服务器(Hetzner注册免费得25欧试用金有效期一个月),按小时计费,可随时销毁(最好是选非大陆的服务器)(也可以选腾讯云香港轻量:腾讯轻量购买链接)
- 系统:Debian 10或者Ubuntu20.04都可以(DD脚本 非必需DD用原来的系统也OK)
- 域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
- 安装好Docker、Docker-compose(相关脚本)
- 【非必需】提前安装好宝塔面板海外版本aapanel,并安装好Nginx(安装地址)
- 【非必需】安装好Nginx Proxy Manager(相关教程)
- 搭建视频 {#4-搭建视频}
YouTube:https://youtu.be/DUC0wGQMnJs
哔哩哔哩【高清版本可以点击去吐槽到B站观看】:
- 搭建方式 {#5-搭建方式}
服务器初始设置,参考
【Docker系列】不用宝塔面板,小白一样可以玩转VPS服务器!
apt update -y # 升级packages
`apt install wget curl sudo vim git # Debian系统比较干净,安装常用的软件
`
创建一下安装的目录:
mkdir -p /root/data/docker_data/syncthing
cd /root/data/docker_data/syncthing
`nano docker-compose.yml
`
本文用的Docker镜像:https://hub.docker.com/r/linuxserver/syncthing
镜像支持多种架构,如x86-64、arm64和armhf。
| 架构(Architecture) | 标签(Tag) | |------------------|----------------| | x86-64 | amd64-latest | | arm64 | arm64v8-latest | | armhf | arm32v7-latest |
docker-compose.yml
填入以下内容:
---
version: "2.1"
services:
syncthing:
image: lscr.io/linuxserver/syncthing
container_name: syncthing
hostname: syncthing #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- /root/data/docker_data/syncthing/config:/config
- /root/data/docker_data/syncthing/Documents:/Documents
- /root/data/docker_data/syncthing/Media:/Media
ports:
- 8384:8384
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
restart: unless-stopped
PUID和PGID可以通过命令行输入id user
来查看。
如:
id root
id www
一般的话,默认就可以。
没问题的话,ctrl+x
退出,按y
保存,enter
确认。
然后运行:
docker-compose up -d
访问:http:服务ip:8384
即可。
注意:
1、不知道服务器IP,可以直接在命令行输入:
curl ip.sb
,会显示当前服务器的IP。2、遇到访问不了的情况,请在宝塔面板的防火墙和服务商的后台防火墙里打开对应端口。
- 反向代理 {#6-反向代理}
在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:域名一枚,并做好解析到服务器上 (域名购买、域名解析 视频教程)
之后,登陆Nginx Proxy Manager(不会的看这个:安装Nginx Proxy Manager (相关教程))
注意:
Nginx Proxy Manager(以下简称NPM)会用到
80
、443
端口,所以本机不能占用(比如原来就有Nginx)
直接丢几张图:
1、注意https
;
2、填写对应的
域名
和端口
,按文章来的话,应该是8384
然后就可以用域名来访问了。
注意: ~~咕咕自己测试的时候,貌似反代之后,偶尔会显示链接超时,大家也可以直接用
IP
+端口
的方式来访问,设置好登陆的用户名和密码。~~
- 使用教程 {#7-使用教程}
文档地址:https://docs.syncthing.net/intro/getting-started.html
- 结尾 {#8-结尾}
祝大家用得开心,有问题可以去GitHub提Issues,也可以在评论区互相交流探讨。
- 参考资料 {#9-参考资料}
GitHub项目地址:https://github.com/syncthing/syncthing
文档地址:https://docs.syncthing.net/intro/getting-started.html
本文用的Docker镜像:https://hub.docker.com/r/linuxserver/syncthing