# 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,不要提交到版本控制) # docker compose up -d # # 更新:改 MONITOR_VERSION(或 MONITOR_IMAGE),再 docker compose pull && docker compose up -d。 # 这种方式没有宿主机更新器:管理端的「更新」按钮对它不起作用;要自动更新请用 podman + systemd(docs/deployment.md「容器节点的运行」)。.data 不动。 services: probe: image: ${MONITOR_IMAGE:-registry.oeo.one/monitor/monitor-probe}:${MONITOR_VERSION:-0.1.1} container_name: monitor-probe restart: unless-stopped init: true network_mode: host volumes: - ./.data:/etc/monitor - /etc/os-release:/etc/os-release:ro # 让节点读到宿主机的系统名(镜像里是 Ubuntu) read_only: true tmpfs: - /tmp:rw,noexec,nosuid,size=64m,mode=1777 security_opt: - no-new-privileges:true cap_drop: - ALL # 要做 ICMP 测量时打开: # cap_add: # - NET_RAW stop_grace_period: 20s