本镜像基于 Syncthing 项目,集成中继服务器(strelaysrv)和发现服务器(stdiscosrv),提供 Syncthing 设备间的中继转发与节点发现功能。适用于搭建私有 Syncthing 中继网络,解决设备间直接连接困难问题,提升同步稳定性。
| 组件名 | 版本 | 支持架构 |
|---|---|---|
| strelaysrv | 2.0.10 | amd64; arm64v8; arm32v7 |
| stdiscosrv | 2.0.10 | amd64; arm64v8; arm32v7 |
| 镜像源 | 拉取命令 |
|---|---|
| DockerHub | docker pull johngong/syncthing-relay-discosrv:latest |
| GitHub Container Registry | docker pull ghcr.io/gshang2017/syncthing-relay-discosrv:latest |
bashdocker run -d \ --name=syncthing-relay-discosrv \ -p 22067:22067 \ -p 22070:22070 \ -p 8443:8443 \ --restart unless-stopped \ johngong/syncthing-relay-discosrv:latest
bashdocker run -d \ --name=syncthing-relay-discosrv \ -p 22067:22067 \ -p 22070:22070 \ -p 8443:8443 \ -v /path/to/local/config:/config \ # 持久化配置、证书与数据库 -e UID=1024 \ -e GID=1024 \ -e GLOBAL_RATE=200000000 \ # 全局速率限制 200MB/s -e PER_SESSION_RATE=20000000 \ # 每会话速率限制 20MB/s --restart unless-stopped \ johngong/syncthing-relay-discosrv:latest
| 本地文件夹 | 容器路径 | 说明 |
|---|---|---|
/volume1/docker/syncthing-config | /config | 持久化配置目录,包含证书(/config/certs)和数据库(/config/discosrvdb),避免重装后 Device ID 变更 |
| 本地端口 | 容器端口 | 说明 |
|---|---|---|
| 22067 | 22067 | 中继服务器协议监听端口 |
| 22070 | 22070 | 中继服务器状态监控端口 |
| 8443 | 8443 | 发现服务器监听端口 |
在群晖 Docker 界面「环境」选项卡中添加以下变量:
| 变量名 | 值示例 | 说明 |
|---|---|---|
| UID | 1000 | 运行用户 UID,默认 1000 |
| GID | 1000 | 运行用户 GID,默认 1000 |
| ENABLE_STDISCOSRV | true | 是否启用发现服务器(true/false),默认 true |
| ENABLE_STRELAYSRV | true | 是否启用中继服务器(true/false),默认 true |
| GLOBAL_RATE | *** | 全局速率限制(bytes/s),默认 ***(100MB/s) |
| PER_SESSION_RATE | *** | 每会话速率限制(bytes/s),默认 ***(10MB/s) |
| MESSAGE_TIMEOUT | 1m30s | 消息超时时间,默认 1m30s |
| NATWORK_TIMEOUT | 3m0s | 客户端-中继服务器操作超时时间,默认 3m0s |
| PING_INTERVAL | 1m30s | 心跳包发送间隔,默认 1m30s |
| PROVIDED_BY | "My Private Relay" | 中继提供者标识,默认 "strelaysrv" |
| 参数形式 | 说明 |
|---|---|
--name=syncthing-relay-discosrv | 容器名称,建议保持默认以便识别 |
-restart unless-stopped | 容器重启策略,确保服务持续运行 |
| 端口映射 | 说明 |
|---|---|
-p 22067:22067 | 中继服务器核心端口,用于设备间中继数据传输 |
-p 22070:22070 | 中继服务器状态端口,可通过 http://<IP>:22070/status 查看中继状态 |
-p 8443:8443 | 发现服务器端口,用于设备节点发现和地址解析 |
| 挂载形式 | 说明 |
|---|---|
-v /local/config:/config | 持久化配置目录,推荐设置。包含: - 证书(/config/certs):服务器 TLS 证书,决定 Device ID - 数据库(/config/discosrvdb):发现服务器节点数据 |
| 变量名 | 类型/取值范围 | 默认值 | 说明 |
|---|---|---|---|
| UID | 整数 | 1000 | 运行用户 UID,需与宿主机用户权限匹配 |
| GID | 整数 | 1000 | 运行用户 GID,需与宿主机用户权限匹配 |
| ENABLE_STDISCOSRV | true/false | true | 是否启用 stdiscosrv(发现服务器) |
| ENABLE_STRELAYSRV | true/false | true | 是否启用 strelaysrv(中继服务器) |
| GLOBAL_RATE | 整数(bytes/s) | *** | 全局中继数据传输速率限制,0 表示无限制 |
| PER_SESSION_RATE | 整数(bytes/s) | *** | 单个设备会话的速率限制,0 表示无限制 |
| MESSAGE_TIMEOUT | 时间字符串(如 1m30s) | 1m30s | 中继消息等待超时时间 |
| NATWORK_TIMEOUT | 时间字符串(如 3m0s) | 3m0s | 客户端与中继服务器的连接超时时间 |
| PING_INTERVAL | 时间字符串(如 1m30s) | 1m30s | 中继服务器向客户端发送心跳包的间隔 |
| PROVIDED_BY | 字符串 | "strelaysrv" | 中继服务器标识,可自定义(如组织名称),用于客户端识别 |
| POOLS | 字符串(逗号分隔URL) | 空 | 中继服务器池地址列表,留空则为私有中继,不接入公共池 |
| DISCO_OTHER_OPTION | 字符串 | 空 | 发现服务器额外参数,如 -debug(调试模式)、-metrics(启用指标),详见 Syncthing stdiscosrv 文档 |
| RELAY_OTHER_OPTION | 字符串 | 空 | 中继服务器额外参数,如 -ext-address(指定外部地址)、-protocol(指定传输协议),详见 Syncthing strelaysrv 文档 |
bash# 启动容器 docker start syncthing-relay-discosrv # 停止容器 docker stop syncthing-relay-discosrv # 重启容器 docker restart syncthing-relay-discosrv # 查看容器日志(获取 Device ID 等关键信息) docker logs syncthing-relay-discosrv # 删除容器(需先停止) docker rm syncthing-relay-discosrv # 删除镜像 docker rmi johngong/syncthing-relay-discosrv:latest
输出示例:bashdocker logs syncthing-relay-discosrv | grep "Device ID"
Device ID: ITZRNXE-YNROGBZ-HXTH5P7-VK5NYE5-QHRQGE2-7JQ6VNJ-KZUEDIU-5PPR5AM进入 Syncthing 客户端界面 → 操作 → 设置 → 连接:
协议监听地址:添加中继服务器地址
格式:relay://<服务器IP或域名>:22067/?id=<Device ID>
示例:relay://syncthing-relay.example.com:22067/?id=ITZRNXE-YNROGBZ-HXTH5P7-VK5NYE5-QHRQGE2-7JQ6VNJ-KZUEDIU-5PPR5AM
全球发现服务器:添加私有发现服务器(若启用)
格式:https://<服务器IP或域名>:8443/?id=<Device ID>
示例:[***]
连接选项:勾选「启用中继」,按需启用「本地发现」(局域网环境)。
针对特定远程设备,进入 远程设备 → 选择设备 → 编辑 → 高级 → 地址列表:
relay://syncthing-relay.example.com:22067/?id=ITZRNXE-YNROGBZ-HXTH5P7-VK5NYE5-QHRQGE2-7JQ6VNJ-KZUEDIU-5PPR5AM来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429