# ────────────────────────────────────────────────────────────────── # Uptime Kuma — status/monitoring for every vhost + the Minecraft server, # reachable at status.${BASE_DOMAIN}. # ────────────────────────────────────────────────────────────────── # docker compose -f docker-compose.yml -f docker-compose.caddy.yml \ # -f docker-compose.status.yml up -d # # Joins mcnet so monitors can probe the stack BY ITS INTERNAL SERVICE NAME # (drasl:25585, nmsr:8080, minecraft:25565) without leaving the host — and can # also hit the public https vhosts end-to-end through the host's DNS. # # Caddy reverse-proxies status.${BASE_DOMAIN} -> uptime-kuma:3001 internally # (caddy/conf.d/50-status.caddy). The host port is published on 127.0.0.1:3001 # ONLY (local debugging / first-run admin setup) — public access goes through # nginx -> caddy. Add status.${BASE_DOMAIN} to LE_SUBDOMAINS for its TLS cert. # # Monitors are stored in the kuma_data volume (Kuma has no config-as-code); # add them once via the web UI — see README for the recommended monitor list. services: caddy: volumes: - ./caddy/conf.d/50-status.caddy:/etc/caddy/conf.d/50-status.caddy:ro uptime-kuma: image: louislam/uptime-kuma:1 container_name: uptime-kuma restart: unless-stopped ports: - "127.0.0.1:3001:3001" volumes: - kuma_data:/app/data networks: - mcnet volumes: kuma_data: