Skip to content

🚀 使用 Docker Compose 部署 微力同步 (Verysync)跨设备文件同步工具

🚀 使用 Docker Compose 部署微力同步 (Verysync)

微力同步 (Verysync) 是一款高效、可靠的点对点跨平台文件同步工具。它能够在您的不同设备(如 NAS、电脑、手机)之间安全、快速地同步和备份文件,所有数据均通过 AES 加密传输,仅存储在您自己的设备上,确保了隐私和安全。

下面将详细介绍如何使用 Docker Compose 部署 Verysync。

📦 项目简介

微力同步的核心特点可以概括为下表:

特点类别 具体说明
同步与共享 支持点对点(P2P)跨平台文件同步与备份,支持双向同步单向同步(只读或读写权限设置),可选择性地同步文件夹中的特定文件,无需每次同步全部内容。
安全与连接 数据通过 AES 加密传输,数据仅在用户自己的设备间传输。采用 P2P 直连,在局域网内自动切换本地传输,支持通过中继服务器在复杂网络环境下建立连接。
设备与管理 支持多种设备和操作系统,包括 Windows, macOS, Linux, Android, iOS 及多种 NAS 设备,提供 Web 管理界面,方便进行同步任务管理和设置。

使用场景 * 多设备文件同步与备份:在家庭或办公环境中,跨多个设备(如不同的NAS、电脑、手机)同步和备份重要文件、照片、文档等。 * 团队文件共享与协作:作为团队文件共享和协作工具,同步和共享工作文件。 * 替代或补充NAS自带同步功能:当NAS自带的同步工具不好用时,可以用微力同步替代。

📋 部署前准备

1.环境要求 确保你的服务器已安装 DockerDocker Compose。你可以通过在终端执行 docker -vdocker compose version 来验证。

2.安装 Docker 和 Docker Compose 若系统未安装,可参考以下步骤(以 Linux 为例):

    # 安装 Docker
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    # 将当前用户加入 docker 组(可选,避免每次使用 sudo)
    sudo usermod -aG docker $USER
    # 重新登录或执行以下命令使组更改生效
    newgrp docker
    # 安装 Docker Compose 插件
    sudo apt-get update
    sudo apt-get install docker-compose-plugin
    # 验证安装
    docker compose version

3.资源检查 * 端口:Verysync 使用多个端口用于 Web 界面访问、数据传输和中继。请确保宿主机的 8886(Web UI),3000(中继),22027(UDP,局域网发现),22330(TCP,数据传输)等端口未被其他程序占用。如果使用 network_mode: host,容器将直接使用宿主机的网络栈,需直接确保这些端口可用。 * 磁盘空间:确保挂载目录(如示例中的 ./myfiles, ./file, ./file2)有足够空间存储同步数据。 * 权限:确保当前用户对挂载目录有读写权限。

⚙️ 配置 Docker Compose

1.创建项目目录 创建一个目录(如 verysync)用于存放所有相关文件,并进入该目录。

    mkdir -p /path/to/your/verysync && cd /path/to/your/verysync

2.创建 docker-compose.yml 文件 将提供的配置内容保存到新创建的 docker-compose.yml 文件中。此配置定义了 Verysync 服务。

services:
  verysync:
    # Verysync 官方镜像(维护者 jonnyan404,稳定版本)
    image: jonnyan404/verysync
    container_name: verysync  # 容器名称,便于管理
    hostname: my-syncthing  # 节点主机名(自定义,同步时识别设备用)
    environment:
      # 可选:用户权限配置(PUID/PGID,默认无需设置,避免权限冲突)
      #- PUID=1000
      #- PGID=1000
      # 修正:时区配置(原 Aisa 改为 Asia,确保日志与本地时间一致)
      - TZ:Aisa/Shanghai
    volumes:
      # 同步目录1:本地 ./myfiles ↔ 容器 /var/syncthing/myfiles(默认同步目录)
      - ./myfiles:/var/syncthing/myfiles
      # 用来同步的自定义路径,如果有多个目录就复制多条,后面的/data可以根据自己需要改。
      # 同步目录2:本地 ./file ↔ 容器 /data1(自定义目录,可重命名)
      - ./file/:/data1
      # 同步目录3:本地 ./file2 ↔ 容器 /data2(自定义目录,支持新增更多)
      - ./file2/:/data2
    network_mode: host  # 主机网络模式:容器直接使用宿主机端口,无需端口映射
    # 注释:host 模式下,ports 配置无效,端口通过宿主机直接开放
    #ports:
     #- 8886:8886   # WEBUI端口

     #- 3000:3000   # 可选,中继端口
     #- 22330:22330   # 可选,数据传输TCP端口
     #- 47112:47112/udp   # 可选,数据传输UDP端口,自定义
     #- 22067:22067  # 可选,中继服务器连接端口
     #- 22027:22027/udp  # 可选,局域网发现UDP端口
    restart: always  # 容器退出后自动重启,保障同步服务稳定
    #restart: unless-stopped
    #privileged: true  # 可选:特权模式,默认无需开启,仅特殊权限需求时启用


3.关键配置说明 * 镜像jonnyan404/verysync 是 Verysync 的官方 Docker 镜像。 * 数据持久化volumes 部分将容器内的路径挂载到宿主机的对应目录,确保同步数据在容器重启后不会丢失。示例中挂载了多个目录,你可以根据需要增删。 * 网络模式network_mode: host 使容器使用宿主机的网络,这样可以避免复杂的端口映射,在某些情况下可能有助于提高发现和连接性能。如果使用桥接网络,可以注释掉该行,并取消注释 ports 部分进行端口映射。 * 时区设置TZ=Asia/Shanghai 用于设置容器的时区,请根据实际情况修改(例如 Asia/Shanghai)。请注意,提供的配置文件中 TZ:Aisa/Shanghai 存在拼写错误(应为 Asia),且环境变量赋值通常使用 = 而非 :,建议修正为 TZ=Asia/Shanghai

🚀 启动与验证

1.启动服务docker-compose.yml 文件所在目录下,执行以下命令来后台启动服务:

    docker compose up -d

2.检查服务状态 使用以下命令查看容器是否正常运行:

    docker compose ps

如果状态(State)栏显示为 Up,则表明容器已成功启动。

3.查看日志 如果容器启动异常,可以通过日志来排查问题:

    docker compose logs verysync

4.访问 Web 管理界面 在浏览器中输入 http://你的服务器IP:8886。如果看到 Verysync 的 Web 管理界面,说明服务已成功部署。


(2)访问 Verysync Web 管理界面

  1. 打开浏览器,输入 http://服务器IP:8886(如局域网测试:http://192.168.1.100:8886,本地测试:http://localhost:8886);
  2. 首次访问会提示 “创建管理员账号”:
    • 输入自定义用户名(如 admin)和密码(建议强密码,如 VerSync@2024);
    • 点击 “注册” 完成初始化;
  3. 登录后进入主界面,左侧显示 “本地目录”(myfiles/data1/data2),右侧显示 “设备列表”(当前仅本机节点),说明服务正常。

🔧 基础配置与使用

1.初始设置 * 首次访问 Web 界面(http://你的服务器IP:8886)时,通常会有一个简单的初始化过程。 * 建议为设备设置一个易于识别的名称,以便在多设备环境中管理。

2.添加同步目录 * 在 Web 界面中,点击 "新建同步"。 * 选择 "标准文件夹",然后选择容器内你已挂载的路径(例如 /data1, /data2)。 * 设置该文件夹的读写权限(只读或读写),这决定了其他设备同步到此目录时的操作权限。

3.连接其他设备 * 在已添加的同步目录的 "共享信息" 中,可以找到 "只读密钥" 或 "读写密钥"(以及链接地址)。 * 在另一台设备(同样安装了 Verysync 客户端的电脑、手机或 NAS)上,打开 Verysync,点击 "新建同步",选择 "连接密钥或链接",粘贴复制的密钥或链接。 * 在接收设备上选择保存此同步内容的本地目录。 * 确认连接后,同步便会开始。

4.性能与连接优化 * 在 "同步设置" -> "性能设置" 中,可以根据设备情况调整 "内存缓冲大小"、"并发线程数" 等参数。 * 确保所有设备的 Verysync 客户端必要的传输协议(如 UDP 传输TCP 传输)已启用,特别是在遇到连接问题时。


🔧 基础配置与使用2

Verysync 核心使用流程是 “添加同步节点(设备配对)→ 配置同步目录 → 启动同步”,新手可按以下步骤操作:

1. 步骤 1:获取当前节点的 “设备 ID”(用于配对)

  1. 登录 Web 界面,点击右上角 “设置” 图标(齿轮)→ 选择 “设备信息”;
  2. 复制 “设备 ID”(一串 32 位字符,如 ABCDEF1234567890ABCDEF1234567890),此 ID 用于其他设备配对当前服务器节点。

2. 步骤 2:添加同步节点(以手机端为例)

  1. 在手机上安装 Verysync 客户端(官网或应用商店下载);
  2. 打开手机客户端,点击 “添加节点”→ 选择 “手动输入设备 ID”;
  3. 粘贴服务器节点的 “设备 ID”,点击 “确认”;
  4. 服务器 Web 界面会弹出 “配对请求”,点击 “同意”,完成设备配对(节点列表会显示手机设备)。

3. 步骤 3:配置同步目录(双向同步 “文档” 为例)

  1. 服务器端:点击 Web 界面左侧 “本地目录”→ 点击 data1(对应本地 ./file 目录)→ 点击 “分享”;
  2. 在弹出的 “分享设置” 中:
    • 选择 “目标节点”:勾选已配对的手机设备;
    • 同步方向:选择 “双向同步”(服务器与手机文件互相同步);
    • 点击 “确认”;
  3. 手机端:收到 “目录分享请求”,点击 “接受”→ 选择手机本地的 “文档” 目录作为同步目录;
  4. 启动同步:双方确认后,服务器 ./file 目录与手机 “文档” 目录会自动同步,新增 / 修改文件会实时同步到对方设备。

4. 步骤 4:验证同步效果

  1. 在服务器 ./file 目录创建测试文件:echo "测试同步" > ./file/test.txt
  2. 等待 10-30 秒(取决于网络速度);
  3. 打开手机 “文档” 目录,查看是否出现 test.txt 文件,内容是否为 “测试同步”;
  4. 反之,在手机 “文档” 目录修改 test.txt,服务器 ./file 目录会同步更新,说明同步正常。

5. 常用 Web 功能说明

  • 状态监控:主界面 “仪表盘” 查看同步进度、已用空间、节点连接状态;
  • 同步历史:点击 “历史记录” 查看文件新增 / 修改 / 删除记录,支持恢复旧版本;
  • 带宽限制:“设置”→“网络” 中配置上传 / 下载带宽上限(避免占用过多网络资源);
  • 忽略规则:在同步目录设置中添加 “忽略文件”(如 *.logtemp/),避免无关文件同步。

🔄 维护与管理

1.更新服务 当有新版本发布时,可以按以下步骤更新:

    # 进入 docker-compose.yml 所在目录
    cd /path/to/your/verysync
    # 拉取最新的 Verysync 镜像
    docker compose pull
    # 重新创建并启动容器
    docker compose up -d
    # 清理无用的旧镜像
    docker image prune

2.数据备份 * Verysync 的所有同步数据都保存在你挂载的宿主机目录(示例中的 ./file, ./file2 等)下。 * 定期备份这些目录即可备份所有同步数据。

3.服务卸载 如需卸载 Verysync,在项目目录下执行:

    docker compose down

如果希望彻底删除所有数据(包括同步文件),在上述命令后移除挂载的目录即可。


4.新增同步目录

若需同步 “视频” 目录,步骤如下:

1.在部署目录创建新目录:mkdir -p video && sudo chmod 777 video; 2.编辑 docker-compose.yml,在 volumes 中添加:

    - ./video:/data3  # 本地 ./video ↔ 容器 /data3

3.重启容器:docker compose restart; 4.登录 Web 界面,左侧 “本地目录” 会新增 data3,按步骤 3 配置同步节点与规则即可。


🐛 常见问题排查

问题现象 可能原因与解决方案
容器启动失败 1. 检查 docker-compose.yml 文件语法是否正确(例如缩进、冒号后空格)。
2. 执行 docker compose logs verysync 查看具体错误日志。
无法访问 Web 界面 (http://IP:8886) 1. 确认服务器防火墙/安全组是否开放了 8886 端口。
2. 检查 docker compose ps 确认容器状态是否为 Up
3. 确认宿主机 8886 端口未被其他进程占用。
设备间无法连接或同步 1. 检查各设备 Verysync 客户端的 UDP 传输TCP 传输 功能是否已启用。
2. 检查路由器或防火墙是否阻止了 Verysync 所需端口(3000, 22330, 22027/UDP 等)的通信。
3. 尝试使用 中继连接(通常会自动尝试)。
同步目录权限错误 1. 在宿主机上,确认当前用户对挂载的目录(如 ./file)有读写权限。
2. 在容器中,Verysync 需要能在同步目录内创建 .verysync 标记文件夹,确保目录权限允许此操作。
3. 考虑在 docker-compose.yml 中配置 PUIDPGID 环境变量,使其与宿主机目录所有者一致。
同步失败或文件错误 1. 检查源文件和目标文件系统及权限。
2. 注意:Verysync 在同步包含软链接(Symbolic Links) 的目录时可能会遇到问题,请谨慎处理。

希望这篇教程能帮助你顺利搭建并使用微力同步,享受高效、安全的跨设备文件同步体验!如果在部署和使用过程中遇到更多问题,微力同步的官方论坛和用户社区是寻求帮助的好去处。


🐛 常见问题排查2

1. Web 界面无法访问(ERR_CONNECTION_REFUSED)

  • 原因 1:8886 端口未开放或被占用。解决

    1. 检查端口占用:sudo lsof -i :8886,停止占用服务;
    2. 重新开放端口:sudo ufw allow 8886/tcp,云服务器同步安全组。
    3. 原因 2:容器未正常启动(State 为 Exited)。解决:查看日志 docker compose logs -f verysync,修复权限或时区错误后重启。

2. 节点配对失败(提示 “无法连接到设备”)

  • 原因 1:设备不在同一网络(如服务器在公网,手机在局域网),未开放中继端口。解决:开放 3000、22330 端口,服务器端在 “设置”→“中继” 中启用 “自动中继”。

  • 原因 2:设备 ID 输入错误。解决:重新在服务器 Web 界面复制 “设备 ID”,确保手机端输入无空格、无拼写错误。

3. 同步文件失败(提示 “权限不足”)

  • 原因:本地同步目录权限不足,容器无法写入文件。

    解决:重新赋予目录权限:sudo chmod -R 777 myfiles file file2,重启容器后重试。

4. 同步速度慢(大文件传输卡顿)

  • 原因 1:网络带宽限制或信号差。解决

    1. 检查网络:确保设备间网络稳定(局域网同步优先,公网建议用有线网络);
    2. 调整带宽:在 “设置”→“网络” 中取消带宽限制(或调大上限)。
    3. 原因 2:未启用增量同步。解决:Verysync 默认启用增量同步,若异常关闭,在 “设置”→“同步” 中勾选 “启用增量同步”。

5. 时区错误(日志时间与本地差 8 小时)

  • 原因docker-compose.yml 中 TZ 拼写错误(如 Aisa)。

    解决:修正为 TZ=Asia/Shanghai,重启容器:docker compose down && docker compose up -d

通过以上步骤,新手可快速搭建 Verysync 同步服务,实现多设备文件实时同步。Verysync 适合注重数据隐私的用户(无第三方服务器),后续可根据需求扩展节点数量或同步目录,具体进阶功能可参考 Verysync 官方文档