文档大纲

绿联 NAS 通过 Docker 安装 Syncthing 全攻略:从部署到权限彻底解决

一、为什么用 Syncthing 同步文件?

Syncthing 是免费开源的跨设备文件同步工具,相比传统同步方式,它有 3 个核心优势:

  • 「去中心化」:无需依赖第三方服务器,设备间直接点对点同步,速度快、隐私性强;
  • 「跨平台」:支持 NAS、电脑、手机、平板等所有主流设备;
  • 「轻量稳定」:资源占用极低,绿联 NAS 这种轻量级设备也能流畅运行,适合长期后台同步。

在使用飞牛OS的NAS,官方已经提供了Syncthing的应用安装,无需太多配置。

而如果你使用的是其它NAS,官方应用商店没有Syncthing,就需要通过Docker进行安装。无论是安装,还是安装后的设置,都比较复杂。稍有不慎,就会导致失败。经过反复失败,终于摸索出成功安装配置的方法,这里以绿联NAS为例,给大家分享出来。

二、前期准备

  1. 开启绿联 NAS 的 Docker 功能登录绿联 NAS 后台(http://你的NAS IP:5000)→ 应用中心 → 搜索「Docker」→ 安装并启动。
  2. 创建目录结构(用于挂载容器)在绿联「文件管理」中,手动创建 3 个目录(路径可自定义,记好实际路径):
    • 配置目录:/volume2/docker/syncthing/config(存 Syncthing 配置)
    • 日志目录:/volume1/docker/syncthing/log(存运行日志)
    • 同步目录:/volume2/办公文件/G1销售管理/G04 统计数据/03单品计划执行(存要同步的文件)

三、通过 Docker Compose 部署 Syncthing(最稳定)

绿联 Docker 支持可视化 Compose 部署,避免手动配置出错:

步骤 1:创建 Compose 配置文件

  1. 绿联 NAS 后台 → Docker → 「Compose」→ 点击「创建」;
  2. 「名称」填syncthing,「内容」粘贴以下配置(替换端口 / 路径为你的实际信息):
services:
  syncthing:
    image: syncthing/syncthing:latest
    container_name: syncthing
    restart: always
    ports:
      - "8384:8384/tcp"       # Web管理界面端口
      - "22001:22000/tcp"     # 同步端口(主机22001→容器22000,避免冲突)
      - "22001:22000/udp"
      - "21028:21027/udp"     # 局域网发现端口(主机21028→容器21027)
    volumes:
      # 配置目录:主机路径→容器路径
      - /volume2/docker/syncthing/config:/var/syncthing/config
      # 日志目录
      - /volume1/docker/syncthing/log:/var/syncthing/log
      # 同步目录(替换为你创建的同步目录)
      - /volume2/办公文件/G1销售管理/G04 统计数据/03单品计划执行:/var/syncthing/data
    environment:
      # 替换为你的NAS用户UID/GID(通过`id 你的用户名`查询,示例:kizemo的UID=1000,GID=10)
      - PUID=1000
      - PGID=10
    network_mode: bridge
  1. 点击「确定」保存配置。

步骤 2:启动 Syncthing 容器

在 Compose 列表中找到syncthing → 点击「启动」,等待容器创建完成(状态显示「运行中」)。

四、彻底解决权限问题(核心!)

绿联 NAS 默认限制普通用户权限,需通过 ACL 规则让 Syncthing 容器有权访问同步目录:

步骤 1:SSH 登录 NAS(获取 root 权限)

  1. 绿联后台 → 设置 → 系统 → 开发者选项 → 开启 SSH;
  2. 用 SSH 工具(如 Putty)登录:ssh 你的用户名@NAS IP,输入密码后提权:
sudo -i  # 输入NAS密码,切换为root

步骤 2:设置同步目录的默认 ACL 权限(永久继承)

执行以下命令(替换路径为你的同步目录),让所有新建子目录自动继承权限:

# 1. 给父目录设置当前ACL(覆盖已有文件)
setfacl -R -m u:1000:rwx '/volume2/办公文件/G1销售管理/G04 统计数据/03单品计划执行'
setfacl -R -m g:10:rwx '/volume2/办公文件/G1销售管理/G04 统计数据/03单品计划执行'

# 2. 设置默认ACL(新建文件/目录自动继承)
setfacl -R -d -m u:1000:rwx '/volume2/办公文件/G1销售管理/G04 统计数据/03单品计划执行'
setfacl -R -d -m g:10:rwx '/volume2/办公文件/G1销售管理/G04 统计数据/03单品计划执行'

# 3. 验证ACL是否生效(输出含`default:user:1000:rwx`即为成功)
getfacl '/volume2/办公文件/G1销售管理/G04 统计数据/03单品计划执行'

五、Syncthing 初始化与同步配置

步骤 1:访问 Syncthing Web 界面

在浏览器输入 http://你的NAS IP:8384,首次登录需设置管理员用户名和密码(避免未授权访问)。

步骤 2:添加同步文件夹

  1. 点击左侧「添加文件夹」→ 填写「文件夹 ID」(自定义,如songxilang);
  2. 「文件夹路径」填写容器内路径(关键!):/var/syncthing/data/送喜郎数据(对应 NAS 同步目录的子目录);
  3. 「文件夹类型」选择「Send & Receive(双向同步)」,点击「保存」。

步骤 3:添加远程设备

  1. 在另一台设备(如电脑)安装 Syncthing,打开其 Web 界面;
  2. 复制电脑端的「设备 ID」(界面右上角);
  3. 回到 NAS 的 Syncthing 界面 → 左侧「添加远程设备」→ 粘贴设备 ID,勾选要同步的文件夹 → 保存;
  4. 电脑端确认 NAS 的设备请求,同步即可开始。

六、常见问题排查

  1. 端口冲突:修改 Compose 文件中的「主机端口」(如 22001 改为 22002),重启容器;
  2. 加密模式不匹配:确保两端文件夹的「发送 / 接收加密」均为「否」(局域网同步);
  3. 权限报错:重新执行步骤四的 ACL 命令,或临时用chmod -R 777排查。

写在最后

通过 Docker 部署 + ACL 权限配置,绿联 NAS 就能稳定运行 Syncthing,实现跨设备文件实时同步。如果需要同步多个目录,只需在 NAS 同步目录下新建子文件夹,ACL 会自动继承权限,无需重复配置~

绿联 NAS × Syncthing 部署全攻略

去中心化 · 跨平台 · 轻量稳定

🛡️ 去中心化

无需中转服务器,点对点直接同步,保护隐私且速度上限仅受限于带宽。

📱 跨平台支持

NAS、Windows、macOS、Android 甚至 iOS 均可实现无缝文件流转。

⚡ 轻量高效

资源占用极低,即使是低功耗 NAS 也能 24/7 稳定后台运行。

🛠️ 部署流程

1
准备目录:在绿联文件管理中创建以下路径:
  • /config (配置)
  • /log (日志)
  • /data (你的同步数据目录)
2
Compose 部署:使用 Docker Compose 启动容器(核心配置如下):
services:
  st-app-service:
    image: syncthing/syncthing:latest
    container_name: nas-st-sync
    ports:
      – "8384:8384/tcp"
      – "22001:22000/tcp"
3
权限提权 (关键):解决 NAS 无法写入的问题,通过 SSH 执行 ACL 命令:
# 设置目录权限继承
setfacl -R -d -m u:1000:rwx '你的同步路径'
💡

温馨提示:首次进入管理界面 (端口 8384) 请务必先在【设置-图形用户界面】中配置用户名和密码!

© 信息图制作:段燚
阅读量: 474