Watchtower + Server酱:容器自动更新后推送到微信
效果:Watchtower 每次检查并更新 Docker 容器后,自动把更新结果发送到你的微信。
前置条件
配置步骤
1. 设置通知 URL
Watchtower 的通知通过 shoutrrr 发送。将 WATCHTOWER_NOTIFICATION_URL 环境变量设为以下值(固定标题):
generic://sctapi.ftqq.com/你的SENDKEY.send?title=Watchtower%E6%9B%B4%E6%96%B0
title 中的中文已做 URL 编码(%E6%9B%B4%E6%96%B0 = "更新")。
如需通知中包含更新详情,可以通过 shoutrrr 的模板变量将消息内容传入 desp 参数,具体语法请参考 shoutrrr 文档。
Server酱³ 用户:将 generic URL 中的域名和路径替换为
你的UID.push.ft07.com/send/你的SENDKEY.send。
2. 通过 docker run 启动
docker run -d \
--name watchtower \
-e WATCHTOWER_NOTIFICATION_URL='generic://sctapi.ftqq.com/你的SENDKEY.send?title=Watchtower%E6%9B%B4%E6%96%B0' \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
URL 用单引号包裹,防止 shell 解析 & 和 {{ }}。
3. 通过 docker-compose 启动
services:
watchtower:
image: containrrr/watchtower
environment:
- "WATCHTOWER_NOTIFICATION_URL=generic://sctapi.ftqq.com/你的SENDKEY.send?title=Watchtower%E6%9B%B4%E6%96%B0"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
docker compose up -d 后,Watchtower 每次检查更新都会通过 Server酱 推送消息到微信。将 你的SENDKEY 替换为实际 SendKey 即可。
常见问题
免费额度够用吗?
免费版每天 5 条,Watchtower 检查频率通常较低,免费额度一般够用。如需更频繁的检查,订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。
消息没收到怎么办?
先检查 SendKey 是否正确、容器日志中是否有通知发送记录(docker logs watchtower),再参考常见问题与排查。
频率限制是多少?
每分钟最多 50 条请求。每次检查产生的通知数量有限,不易触发限制。
支持 Server酱³ 吗?
支持。将 generic URL 中的域名和路径替换为 你的UID.push.ft07.com/send/你的SENDKEY.send 即可,SendKey 以 sctp 开头。