0


Docker项目-通过Syncthing搭建个人同步盘

Docker项目-通过Syncthing搭建个人同步盘

Syncthing 是一款开源、免费、跨平台的文件同步工具,基于 P2P 技术 实现设备间的文件同步。它的同步方式是去中心化的,不需要一个中央服务器,因此避免了服务器带来的限制。与传统网盘不同,Syncthing在同步过程中不会将数据上传到云服务器,而是直接在你指定的设备之间传输,数据只存储在你信任的本地设备上,确保了隐私和安全。
使用Syncthing可以解决多个与数据管理和访问相关的问题,解决个人数据备份、跨设备访问、数据一致性、便捷性访问等个人生活、工作中存在的问题。

Synching简介

Syncthing 是一个连续的文件同步程序。它同步两台或多台计算机之间的文件。

Syncthing有以下特点:

  • 防止数据丢失
  • 防范攻击者
  • 简单易用
  • 多端支持
  • 支持docker部署

项目地址:https://github.com/syncthing/syncthing

部署需求

任意两个或者多个linux、windows、macos客户端

同步盘部署

本文采取linux服务器通过docker部署,与windows客户端进行同步。

Linux端部署

linux端采用RockyLinux 8.8

安装docker
yum install-y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y
启动docker
systemctl enabledocker--now
安装docker-compose
curl-L https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose
创建项目目录
mkdir-p /data/syncthing
创建docker-compose文件
cd /data/synthing
cat > docker-compose.yaml <<EOF
version:"3"services:syncthing:image: syncthing/syncthing:1.25container_name: syncthing
    hostname: my-syncthing
    environment:- PUID=1000
      - PGID=1000
    volumes:- /data/syncthing/data/myfiles:/var/syncthing/myfiles
    network_mode: host
    restart: unless-stopped
创建docker容器
cd /data/synthing
docker-compose up -d
windows端部署

https://github.com/syncthing/syncthing/releases/下载windows客户端,直接进行安装。

后面静默运行

默认启动windows客户端,会打开一个cmd运行界面且不能关闭,不方便使用。通过脚本方式隐藏运行:

  • 在syncthing程序根目录下创建start_syncthing_hidden.ps1文件,在文件中写入以下内容
$exe_path = "E:\syncthing-windows-amd64\syncthing.exe"Start-Process-FilePath $exe_path-WindowStyle Hidden
  • 在syncthing程序根目录下创建start_sycthing.bat文件并写入以下内容
@echo off
PowerShell.exe -NoProfile -Command "& 'E:\syncthing-windows-amd64\start_syncthing_hidden.ps1'"
  • 启动程序通过运行start_sycthing.bat程序实现静默运行 最后windows文件内容如下:在这里插入图片描述

windows开机自动运行syncthing

官方文档:https://docs.syncthing.net/users/autostart.html#windows

  1. 按WIN+R打开运行,并执行taskschd.msc,打开任务计划。
  2. 点击创建任务

在这里插入图片描述

  1. 创建任务1. 任务名称(例如:syncthing)2. 选择不管用户是否登录都要运行在这里插入图片描述1. 配置触发器可以将同步设置为在用户登录或系统启动时启动。- 在用户登录时运行如果您打算仅在登录到 Windows 用户帐户时才使用同步,请选择此选项。> 1. 在触发器界面选择“新建”> > 在这里插入图片描述> > > 1. 选择开始任务:登录时> 2. 选择特定用户> 3. 点击确定> > 在这里插入图片描述- 在系统运行时启动希望在Windows启动后立即在后台打开Syncthing,甚至在未登录到您的用户帐户时,也可以选择此选项。如果Syncthing文件夹存储在受BitLocker保护的非系统分区上,请不要使用此方法,因为在用户登录之前无法访问这些文件夹。> 1. 在触发器界面选择“新建”> 2. 选择开始任务:启动时> > 在这里插入图片描述1. 配置操作选项1. 点击操作选项卡2. 点击新建3. 输入程序路径(例如:C:\syncthing\syncthing.exe)4. 添加参数:--no-console --no-browser5. 点击确定在这里插入图片描述2. 配置设置选项卡1. 取消如果任务运行时间超过以下时间,停止任务2. 点击确定3. 输入系统用户密码在这里插入图片描述

Syncthing使用

  • 添加同步设备
  1. 点击操作->显示ID,获取当前设备ID在这里插入图片描述
  2. 在另一台设备,点击右下角的添加远程设备在这里插入图片描述
  3. 输入开始获取的设备ID,并自定义设备名称点击保存在这里插入图片描述
  4. 共享文件夹
  • 点击添加文件夹在这里插入图片描述
  • 在常规选项卡,写入要同步的文件夹路径和名称在这里插入图片描述
  • 在共享选项卡,勾选要同步到那些设备在这里插入图片描述
  • 点击保持后,会自动扫描和同步

Windows客户端工具:SyncTrazor

SyncTrayzor 是 Windows 上 Syncthing 的一个小托盘实用程序。 它托管和包装 Syncthing,使其行为更像本机 Windows 应用程序,而不像带有 Web 浏览器界面的命令行实用程序。

github地址:https://github.com/canton7/SyncTrayzor
下载地址:https://github.com/canton7/SyncTrayzor/releases

功能包括:

  • 具有内置的 Web 浏览器,因此您无需启动外部浏览器。
  • (可选)在登录时启动,因此无需将 Syncthing 设置为服务。
  • 具有下拉框样式的文件下载/进度窗口 托盘图标指示同步发生的时间。
  • 在以下情况下提醒您:

您有文件冲突
您的某个文件夹不同步
文件夹完成同步
设备连接/断开
有一个工具可以帮助您解决文件冲突

  • 可以暂停按流量计费的网络上的设备,以停止在手机等设备上传输数据在这里插入图片描述

参考文档:
https://docs.syncthing.net/
https://github.com/canton7/SyncTrayzor

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/ltong3155/article/details/137545354
版权归原作者 Alxduo 所有, 如有侵权,请联系我们删除。

“Docker项目-通过Syncthing搭建个人同步盘”的评论:

还没有评论