发布于 

在极空间安装Syncthing

需求来源

  1. 极空间与其他NAS同步;
  2. 想使用Host网络以支持IPv6但极空间已经占用8384端口;
  3. 常用的版本linuxserver/syncthing或syncthing/syncthing不支持修改端口。

修改镜像配置文件以支持自定义端口

下载源码,修改文件\root\etc\s6-overlay\s6-rc.d\svc-syncthing\run如下

1
2
3
4
5
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${PORT}" \
s6-setuidgid abc syncthing \
-home=/config -no-browser -no-restart \
--gui-address="0.0.0.0:${PORT}"

修改文件Dockerfile如下:

1
2
ENV PORT=8384
EXPOSE ${PORT} 22000/tcp 22000/udp 21027/UDP

部署

上述修改的镜像已经上传Docker Hub,部署只需要拉取镜像:

1
wansyu/syncthing:latest

按照linuxserver/syncthing的教程部署,并修改PORT为目标端口。

其他问题

部署在极空间上的Syncthing(无论修改版本或者linuxserver等版本)可能出现权限问题,解决方法如下:

  1. (推荐)修改PUID=1000PGID=1000,进入容器的SSH,命令/bin/bash,用户root, 执行ls -l,列出所有文件夹,找到权限为root的同步文件夹,以BackupSync为例,执行chown -R abc:abc BackupSync,再次执行ls -l,看到权限变为abc
  2. (不推荐)修改PUID=0PGID=0,会破坏权限管理。