
nim65s/matrix-webhookMatrix Webhook是一个轻量级工具,通过HTTP POST请求将消息发送至Matrix房间。它允许外部服务(如GitHub、Grafana、GitLab等)轻松集成Matrix聊天系统,实现事件通知自动化,支持多种消息格式化方式,适用于各类监控告警、代码仓库事件等场景的消息推送。
bashpython3 -m pip install matrix-webhook
bashdocker pull nim65s/matrix-webhook
bash# 直接运行 matrix-webhook -h # Python模块方式 python -m matrix_webhook -h # Docker方式 docker run --rm -it nim65s/matrix-webhook -h
| 参数 | 环境变量 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|---|
| -H, --host | HOST | 服务监听主机 | 否 | ''(监听所有网络接口) |
| -P, --port | PORT | 服务监听端口 | 否 | 4785 |
| -u, --matrix-url | MATRIX_URL | Matrix homeserver URL | 否 | [***] |
| -i, --matrix-id | MATRIX_ID | Matrix机器人用户ID | 是 | - |
| -p, --matrix-pw | MATRIX_PW | Matrix用户密码 | 二选一 | - |
| -t, --matrix-token | MATRIX_TOKEN | Matrix访问令牌 | 二选一 | - |
| -k, --api-key | API_KEY | 服务访问密钥(共享密钥) | 是 | - |
| -v, --verbose | - | 增加日志详细级别(可多次使用) | 否 | - |
bash# 使用poetry安装依赖 poetry install # 或使用pip直接安装依赖 python3 -m pip install --user markdown matrix-nio # 启动服务 python3 -m matrix_webhook
项目提供完整的docker-compose配置,适用于生产环境:
前置要求:
web网络(推荐配合Traefik反向代理).env文件${CHATONS_SERVICE:-matrixwebhook}.${CHATONS_DOMAIN:-localhost}启动服务:
bashdocker-compose up -d
对于需要健康检查的负载均衡器,可使用/health端点(返回HTTP 200状态码及JSON响应)。在Traefik中配置示例:
yamlservices: bot: labels: traefik.http.services.matrix-webhook.load***.healthcheck.path: /health
bashcurl -d '{"body":"新贡献来自toto: [44](http://radio.localhost/map/#44)", "key": "your_api_key"}' \ 'http://matrixwebhook.localhost/!房间ID:matrix.org'
注:若未使用Docker,服务地址为
localhost:4785
[***]application/json在Grafana告警配置中添加Webhook,URL格式:
[***]
GitLab组级别不支持直接配置Webhook,可通过以下方式集成:
添加Google Chat集成,Webhook URL格式:
[***]
添加Microsoft Teams集成,Webhook URL格式:
[***]
可在Matrix房间#matrix-webhook:tetaneutral.net进行功能测试。
bashdocker-compose -f test.yml up --exit-code-from tests --force-recreate --build



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务