feat: share named volumes across Docker and rootless Podman updates [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful

This commit is contained in:
geruipu committed 2026-10-07 01:41:15 +08:00
1 parent 90b3ca4dad
commit 27ac7fb787
16 files changed
+473 -156

No files matched your search

+11 -11
View File
@@ -1,13 +1,6 @@
# Probe:身份配置 probe.json 和 Agent 列表缓存 agents.json 都放在同目录的 .data/(挂载到容器的 /etc/monitor)。
#
# 第一次使用:
# mkdir -p .data && sudo chown 1654:1654 .data # 容器以 UID/GID 1654 运行,需要读写这个目录
# 在管理端创建 Probe,下载一次性身份配置,保存为 .data/probe.json(含私钥,权限 600,不要提交到版本控制)
# sudo chown -R 1654:1654 .data # probe.json 的 600 权限要求文件也归容器用户所有
# sudo podman compose up -d # Linux rootful Podman;也可用 docker compose
#
# 更新:改 MONITOR_VERSION(或 MONITOR_IMAGE),再 docker compose pull && docker compose up -d。
# 这种方式没有宿主机更新器:管理端的「更新」按钮对它不起作用;要自动更新请用 podman + systemd(docs/deployment.md「容器节点的运行」)。.data 不动。
# Docker 和 rootless/rootful Podman 共用。配置、身份和缓存保存在命名 volume 中。
# docker compose up -d / podman compose up -d(Podman 以普通用户执行即可 rootless)。
# 首次注册、配置导入和自动更新见 docs/deployment.md。
services:
probe:
image: ${MONITOR_IMAGE:-registry.oeo.one/monitor/monitor-probe}:${MONITOR_VERSION:-0.1.1}
@@ -16,7 +9,8 @@ services:
init: true
network_mode: host
volumes:
- ./.data:/etc/monitor
- probe-config:/etc/monitor
- probe-status:/etc/monitor/update-status:ro
- /etc/os-release:/etc/os-release:ro
read_only: true
tmpfs:
@@ -30,3 +24,9 @@ services:
# cap_add:
# - NET_RAW
stop_grace_period: 20s
volumes:
probe-config:
name: monitor-probe-config
probe-status:
name: monitor-probe-status