
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这些Dockerfile创建用于运行SyTest的容器,支持多种配置。SyTest本身不包含在这些镜像中,但包含其依赖。
matrixdotorg/sytest:基础容器,已安装SyTest依赖
bionic、buster或testingmatrixdotorg/sytest-synapse:针对Synapse运行SyTest
bionic、buster或testingmatrixdotorg/sytest-dendrite:go113:在Go 1.13上针对Dendrite运行SyTest
sytest-synapse镜像要求将Synapse git仓库的检出目录挂载到/src;服务器日志将写入/logs,建议同时挂载卷到该目录。
使用示例
bashdocker run --rm -it -v /path/to/synapse:/src:ro -v /path/to/日志存放目录:/logs matrixdotorg/sytest-synapse:buster
环境变量
通过-e设置以下变量控制测试:
POSTGRES:设为非空值以使用PostgreSQL数据库(默认sqlite)WORKERS:设为非空值以测试工作模式部署(需POSTGRES,默认单体模式)REDIS:设为非空值以使用redis复制(需WORKERS,替代旧TCP方式)OFFLINE:设为非空值以避免更新Python/Perl依赖BLACKLIST:设为非空值以修改默认黑名单文件(路径相对于Synapse目录)TIMEOUT_FACTOR:测试超时时间的乘数配置示例
工作模式(TCP复制):
bashdocker run --rm -it -e POSTGRES=1 -e WORKERS=1 -v /path/to/synapse:/src:ro \ -v /path/to/日志存放目录:/logs matrixdotorg/sytest-synapse:buster
工作模式(Redis):
bashdocker run --rm -it -e POSTGRES=1 -e WORKERS=1 -e REDIS=1 \ -v /path/to/synapse:/src:ro \ -v /path/to/日志存放目录:/logs \ matrixdotorg/sytest-synapse:buster
sytest-dendrite镜像要求将Dendrite git仓库的检出目录挂载到/src;服务器日志写入/logs,建议挂载卷到该目录。
使用示例
bashdocker run --rm -it -v /path/to/dendrite:/src:ro -v /path/to/日志存放目录:/logs matrixdotorg/sytest-dendrite
默认情况下,镜像会下载对应分支的Sytest(通常与目标homeserver同名分支或develop分支)。若需使用本地Sytest检出目录,可挂载到容器的/sytest文件夹:
bashdocker run --rm -it -v /path/to/synapse:/src:ro -v /path/to/日志存放目录:/logs \ -v /path/to/code/sytest:/sytest:ro matrixdotorg/sytest-synapse:buster
可在docker命令末尾添加参数以传递给sytest。例如运行单个测试文件:
bashdocker run --rm -it ... matrixdotorg/sytest-synapse:buster tests/20profile-events.pl
通过以下命令构建并推送容器:
bash./build.sh # 构建容器 ./push.sh # 推送到Docker Hub
设置PLUGINS环境变量以自动加载插件,值为一个或多个tar.gz文件URL(空格分隔)。引导脚本会在插件中搜索${SYTEST_TARGET}_sytest.sh以执行自定义脚本。
bashdocker run --rm -it -e PLUGINS="[***] [***]"
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务