Skip to content

Commit f8a56c1

Browse files
committed
watchtower 兼容新版 Docker(DOCKER_API_VERSION);README 补充 Docker 部署文档
1 parent 80de5d8 commit f8a56c1

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,27 @@ npm start # 打开 http://127.0.0.1:8787,账号 admin / admin123
3939
自定义端口 / 监听地址:`PORT=9000 HOST=0.0.0.0 npm start`
4040
对外暴露前请务必修改默认密码,并建议置于 HTTPS 反代之后。
4141

42+
## Docker 部署(含 Watchtower 自动更新)
43+
44+
镜像随 main 分支推送自动构建:`ghcr.io/lettimepassby/relay-monitor:latest`(另有 commit SHA 标签可回滚)。
45+
46+
```bash
47+
mkdir -p ~/relay-monitor && cd ~/relay-monitor
48+
# 下载 deploy/docker-compose.yml 放到这里,然后:
49+
docker compose up -d
50+
```
51+
52+
compose 里包含两个服务:
53+
54+
- **relay-monitor**:面板本体,数据持久化在 `./data`(站点凭证 / 历史 / 会话密钥),升级不丢数据
55+
- **watchtower**:每 5 分钟检查一次镜像更新,发现新版本自动拉取并重启面板、清理旧镜像。
56+
推送代码 → Actions 构建镜像 → 服务器几分钟内自动更新,页面「设置 → 关于」和侧栏可查看当前运行的版本与构建 commit
57+
58+
> Watchtower 匿名拉取要求 GHCR 镜像包为 public:首次构建后到
59+
> `https://github.com/users/lettimepassby/packages/container/relay-monitor/settings`
60+
> 把 Danger Zone 里的可见性改为 Public(一次即可);或者在服务器 `docker login ghcr.io` 使用带
61+
> `read:packages` 权限的 PAT。
62+
4263
## 添加真实中转站
4364

4465
右上角「添加中转站」→ 选类型 → 填站点根地址(如 `https://your-relay.com`,不带 `/v1`)→ 按上表填凭证。

deploy/docker-compose.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,8 @@ services:
1818
restart: unless-stopped
1919
volumes:
2020
- /var/run/docker.sock:/var/run/docker.sock
21+
environment:
22+
# 新版 Docker 守护进程要求 API >= 1.40,watchtower 默认协商值过老
23+
- DOCKER_API_VERSION=1.44
2124
# 每 5 分钟检查一次 relay-monitor 的新镜像,更新后清理旧镜像
2225
command: --cleanup --interval 300 relay-monitor

0 commit comments

Comments
 (0)