
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于 Syncthing 项目,集成中继服务器(strelaysrv)和发现服务器(stdiscosrv),提供 Syncthing 设备间的中继转发与节点发现功能。适用于搭建私有 Syncthing 中继网络,解决设备间直接连接困难问题,提升同步稳定性。
| 组件名 | 版本 | 支持架构 |
|---|---|---|
| strelaysrv | 2.0.10 | amd64; arm64v8; arm32v7 |
| stdiscosrv | 2.0.10 | amd64; arm64v8; arm32v7 |
| 镜像源 | 拉取命令 |
|---|---|
| DockerHub | docker pull docker.xuanyuan.run/johngong/syncthing-relay-discosrv:latest |
| GitHub Container Registry | docker pull ***-ghcr.xuanyuan.run/gshang2017/syncthing-relay-discosrv:latest |
快速启动(默认配置)
bashdocker run -d \ --name=syncthing-relay-discosrv \ -p 22067:22067 \ -p 22070:22070 \ -p 8443:8443 \ --restart unless-stopped \ docker.xuanyuan.run/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-5PPR5AM1. 全局连接配置
进入 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>
示例:https://syncthing-disco.example.com:8443/?id=ITZRNXE-YNROGBZ-HXTH5P7-VK5NYE5-QHRQGE2-7JQ6VNJ-KZUEDIU-5PPR5AM
连接选项:勾选「启用中继」,按需启用「本地发现」(局域网环境)。
2. 远程设备高级配置
针对特定远程设备,进入 远程设备 → 选择设备 → 编辑 → 高级 → 地址列表:
relay://syncthing-relay.example.com:22067/?id=ITZRNXE-YNROGBZ-HXTH5P7-VK5NYE5-QHRQGE2-7JQ6VNJ-KZUEDIU-5PPR5AM您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 johngong/syncthing-relay-discosrv 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: