fix: Cloudflare Tunnel HTTP/2、监控去重、AutoKuma 健康检查

- cloudflared 改 HTTP/2 协议(QUIC 被干扰导致 1033)
- 监控 URL 改为内网直连(避免 Docker 回路不通)
- AutoKuma 依赖 uptime-kuma 健康检查后再启动
- 删除手动监控,AutoKuma 独管,解决重复问题
This commit is contained in:
2026-05-25 17:16:08 +08:00
parent c824e22b53
commit bba920d758
5 changed files with 18 additions and 15 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ services:
image: cloudflare/cloudflared:latest image: cloudflare/cloudflared:latest
container_name: cloudflared container_name: cloudflared
restart: unless-stopped restart: unless-stopped
command: tunnel run command: tunnel --protocol http2 run
volumes: volumes:
- ./config.yml:/etc/cloudflared/config.yml:ro - ./config.yml:/etc/cloudflared/config.yml:ro
- ./credentials.json:/etc/cloudflared/credentials.json:ro - ./credentials.json:/etc/cloudflared/credentials.json:ro
+1 -1
View File
@@ -55,7 +55,7 @@ services:
# --- 3. AutoKuma 自动发现设置 --- # --- 3. AutoKuma 自动发现设置 ---
# 格式: kuma.<自定义ID>.<监控类型>.<属性> # 格式: kuma.<自定义ID>.<监控类型>.<属性>
- "kuma.gitea.http.name=Gitea" # 监控项名称 - "kuma.gitea.http.name=Gitea" # 监控项名称
- "kuma.gitea.http.url=https://gitea.xiteng.site" # 监控的目标 URL - "kuma.gitea.http.url=http://gitea:3000" # 内网直连
# (可选) 每 60 秒检查一次,重试 3 次 # (可选) 每 60 秒检查一次,重试 3 次
- "kuma.gitea.http.interval=60" - "kuma.gitea.http.interval=60"
- "kuma.gitea.http.max_retries=3" - "kuma.gitea.http.max_retries=3"
+1 -1
View File
@@ -54,7 +54,7 @@ services:
# --- 3. AutoKuma 自动发现设置 --- # --- 3. AutoKuma 自动发现设置 ---
# 格式: kuma.<自定义ID>.<监控类型>.<属性> # 格式: kuma.<自定义ID>.<监控类型>.<属性>
- "kuma.hedgedoc.http.name=HedgeDoc" # 监控项名称 - "kuma.hedgedoc.http.name=HedgeDoc" # 监控项名称
- "kuma.hedgedoc.http.url=https://notes.xiteng.site" # 监控的目标 URL - "kuma.hedgedoc.http.url=http://hedgedoc:3000" # 内网直连
# (可选) 每 60 秒检查一次,重试 3 次 # (可选) 每 60 秒检查一次,重试 3 次
- "kuma.hedgedoc.http.interval=60" - "kuma.hedgedoc.http.interval=60"
- "kuma.hedgedoc.http.max_retries=3" - "kuma.hedgedoc.http.max_retries=3"
+1 -1
View File
@@ -32,7 +32,7 @@ services:
# --- 3. AutoKuma 自动发现设置 --- # --- 3. AutoKuma 自动发现设置 ---
# 格式: kuma.<自定义ID>.<监控类型>.<属性> # 格式: kuma.<自定义ID>.<监控类型>.<属性>
- "kuma.homepage.http.name=HomePage" # 监控项名称 - "kuma.homepage.http.name=HomePage" # 监控项名称
- "kuma.homepage.http.url=https://home.xiteng.site" # 监控的目标 URL - "kuma.homepage.http.url=http://homepage:3000" # 内网直连
# (可选) 每 60 秒检查一次,重试 3 次 # (可选) 每 60 秒检查一次,重试 3 次
- "kuma.homepage.http.interval=60" - "kuma.homepage.http.interval=60"
- "kuma.homepage.http.max_retries=3" - "kuma.homepage.http.max_retries=3"
+13 -10
View File
@@ -3,28 +3,30 @@ services:
image: louislam/uptime-kuma:2 image: louislam/uptime-kuma:2
container_name: uptime-kuma container_name: uptime-kuma
restart: unless-stopped restart: unless-stopped
healthcheck:
test: ["CMD", "node", "-e", "require('http').get('http://localhost:3001', (r) => {r.resume(); process.exit(0)}).on('error', () => process.exit(1))"]
interval: 10s
timeout: 5s
retries: 3
volumes: volumes:
- ./data:/app/data - ./data:/app/data
ports: ports:
- "3001:3001" - "3001:3001"
labels: labels:
# --- 1. Traefik 路由设置 ---
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.uptime.rule=Host(`uptime.xiteng.site`)" - "traefik.http.routers.uptime.rule=Host(`uptime.xiteng.site`)"
- "traefik.http.services.uptime.loadbalancer.server.port=3001" - "traefik.http.services.uptime.loadbalancer.server.port=3001"
- "traefik.http.routers.uptime.entrypoints=websecure" - "traefik.http.routers.uptime.entrypoints=websecure"
# --- HTTP 入口(来自 cloudflared tunnel---
- "traefik.http.routers.uptime-http.rule=Host(`uptime.xiteng.site`)" - "traefik.http.routers.uptime-http.rule=Host(`uptime.xiteng.site`)"
- "traefik.http.routers.uptime-http.service=uptime" - "traefik.http.routers.uptime-http.service=uptime"
- "traefik.http.routers.uptime-http.entrypoints=web" - "traefik.http.routers.uptime-http.entrypoints=web"
- "traefik.http.routers.uptime.tls=true" - "traefik.http.routers.uptime.tls=true"
- "traefik.http.routers.uptime.tls.certresolver=cfresolver" - "traefik.http.routers.uptime.tls.certresolver=cfresolver"
# --- 2. Homepage 自动发现设置 --- - "homepage.group=生产力工具"
- "homepage.group=生产力工具" # 分组名称 - "homepage.name=Uptime Kuma"
- "homepage.name=Uptime Kuma" # 显示名称 - "homepage.icon=uptime"
- "homepage.icon=uptime" # 图标 (支持 si, mdi 等前缀) - "homepage.href=https://uptime.xiteng.site"
- "homepage.href=https://uptime.xiteng.site" # 点击跳转的链接 - "homepage.description=网站监控工具"
- "homepage.description=网站监控工具" # 副标题描述
networks: networks:
- homelab_net - homelab_net
@@ -35,10 +37,11 @@ services:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
env_file: ../.env env_file: ../.env
environment: environment:
# 指向你的 Uptime Kuma 内部地址 (如果在同一 bridge 网络下,直接用容器名:端口)
AUTOKUMA__KUMA__URL: http://uptime-kuma:3001 AUTOKUMA__KUMA__URL: http://uptime-kuma:3001
AUTOKUMA__TAG: homelab
depends_on: depends_on:
- uptime-kuma uptime-kuma:
condition: service_healthy
networks: networks:
- homelab_net - homelab_net