archive: record Uptime Kuma monitors and setup before decommissioning

Captured from the live instance rather than the repo: the playbooks created 17
monitors, the server had 75. The rest existed only in the UI. Push tokens are
excluded deliberately — they are live credentials.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
counterweight 2026-09-11 22:43:15 +02:00
parent b0f14ea365
commit 79942525b1
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
6 changed files with 1405 additions and 0 deletions

View file

@ -0,0 +1,152 @@
# Uptime Kuma — monitor inventory (archived)
Captured from the live instance at `https://uptime.contrapeso.xyz` on 2026-09-11,
immediately before decommissioning. This is the **authoritative** record: most of
these monitors existed only in the Uptime Kuma UI and were never described by any
playbook in this repo.
**75 monitors total** — 16 group, 8 http, 3 port, 48 push. All were active.
Push tokens are deliberately **not** recorded here: they are live credentials, and
anything holding one could report a false 'up'. They die with the server.
---
## arbret - production *(7 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| arbret.com - arbret-analytics | push | — | 120s | Healthy when timer is scheduled and last run succeeded |
| arbret.com - arbret-backup | push | — | 120s | Healthy when timer is scheduled and last run succeeded |
| arbret.com - arbret-server | push | — | 120s | Healthy when arbret-server.service is active |
| arbret.com - arbret-worker | push | — | 120s | Healthy when arbret-worker.service is active |
| arbret.com - health | push | — | 120s | Healthy when GET /api/health returns status ok |
| arbret.com - https | push | — | 120s | Healthy when HTTPS front-door returns 200 |
| arbret.com - postgresql | push | — | 120s | Healthy when postgresql.service is active |
## arbret - staging *(7 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| arbretstaging.contrapeso.xyz - arbret-analytics | push | — | 120s | Healthy when timer is scheduled and last run succeeded |
| arbretstaging.contrapeso.xyz - arbret-backup | push | — | 120s | Healthy when timer is scheduled and last run succeeded |
| arbretstaging.contrapeso.xyz - arbret-server | push | — | 120s | Healthy when arbret-server.service is active |
| arbretstaging.contrapeso.xyz - arbret-worker | push | — | 120s | Healthy when arbret-worker.service is active |
| arbretstaging.contrapeso.xyz - health | push | — | 120s | Healthy when GET /api/health returns status ok |
| arbretstaging.contrapeso.xyz - https | push | — | 120s | Healthy when HTTPS front-door returns 200 |
| arbretstaging.contrapeso.xyz - postgresql | push | — | 120s | Healthy when postgresql.service is active |
## arbret-staging-box - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-arbret-staging-box-root | push | — | 960s | upside-down, Disk Usage: arbret-staging-box (/) - Alerts when usage excee |
| system-healthcheck-arbret-staging-box | push | — | 90s | System Healthcheck: arbret-staging-box - Regular healthcheck |
## forgejo-runner-box - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-forgejo-runner-box-root | push | — | 960s | upside-down, Disk Usage: forgejo-runner-box (/) - Alerts when usage excee |
| system-healthcheck-forgejo-runner-box | push | — | 90s | System Healthcheck: forgejo-runner-box - Regular healthcheck |
## fulcrum-box - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-fulcrum-box-root | push | — | 960s | upside-down, Disk Usage: fulcrum-box (/) - Alerts when usage exceeds 80% |
| system-healthcheck-fulcrum-box | push | — | 90s | System Healthcheck: fulcrum-box - Regular healthcheck ping e |
## knots-box - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-knots-box-root | push | — | 960s | upside-down, Disk Usage: knots-box (/) - Alerts when usage exceeds 80% |
| system-healthcheck-knots-box | push | — | 90s | System Healthcheck: knots-box - Regular healthcheck ping eve |
## memos-box - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-memos-box-root | push | — | 960s | upside-down, Disk Usage: memos-box (/) - Alerts when usage exceeds 80% |
| system-healthcheck-memos-box | push | — | 90s | System Healthcheck: memos-box - Regular healthcheck ping eve |
## mempool-box - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-mempool-box-root | push | — | 960s | upside-down, Disk Usage: mempool-box (/) - Alerts when usage exceeds 80% |
| system-healthcheck-mempool-box | push | — | 90s | System Healthcheck: mempool-box - Regular healthcheck ping e |
## nodito - infra *(4 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| UPS ONLINE | push | https:// | 90s | — |
| cpu-temp-nodito | push | — | 120s | upside-down, CPU Temperature: nodito - Alerts when temperature exceeds 80 |
| system-healthcheck-nodito | push | — | 300s | System Healthcheck: nodito - Regular healthcheck ping every |
| zfs-health-nodito | push | — | 90000s | ZFS Pool Health: nodito - Daily health check for pool proxmo |
## nonkeiwaisi-box - infra *(0 monitors)*
_(empty)_
## prd-arbret - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-prd-arbret-root | push | — | 960s | upside-down, Disk Usage: prd-arbret (/) - Alerts when usage exceeds 80% |
| system-healthcheck-prd-arbret | push | — | 90s | System Healthcheck: prd-arbret - Regular healthcheck ping ev |
## prd-spacey - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-prd-spacey-root | push | — | 960s | upside-down, Disk Usage: prd-spacey (/) - Alerts when usage exceeds 80% |
| system-healthcheck-prd-spacey | push | — | 90s | System Healthcheck: prd-spacey - Regular healthcheck ping ev |
## prd-vipy - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-prd-vipy-root | push | — | 960s | upside-down, Disk Usage: prd-vipy (/) - Alerts when usage exceeds 80% |
| system-healthcheck-prd-vipy | push | — | 90s | System Healthcheck: prd-vipy - Regular healthcheck ping ever |
## prd-watchtower - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-prd-watchtower-root | push | — | 960s | upside-down, Disk Usage: prd-watchtower (/) - Alerts when usage exceeds 8 |
| system-healthcheck-prd-watchtower | push | — | 90s | System Healthcheck: prd-watchtower - Regular healthcheck pin |
## services *(19 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| Forgejo | http | https://forgejo.contrapeso.xyz/api/healthz | 90s | — |
| Headscale | http | https://headscale.contrapeso.xyz/health | 60s | — |
| LNBits | http | https://wallet.contrapeso.xyz/api/v1/health | 60s | — |
| Memos | http | https://memos.contrapeso.xyz/healthz | 60s | — |
| Mempool Public Access | http | https://mempool.contrapeso.xyz | 60s | — |
| Personal Blog | http | https://pablohere.contrapeso.xyz | 60s | — |
| Vaultwarden | http | https://vault.contrapeso.xyz/alive | 60s | — |
| ntfy-emergency-app | http | https://avisame.contrapeso.xyz | 60s | — |
| Bitcoin Knots P2P Public | port | 167.172.107.33:8333 | 60s | — |
| DATUM Stratum (public) | port | 167.172.107.33:23334 | 60s | — |
| Fulcrum SSL Public | port | 167.172.107.33:50002 | 60s | — |
| Bitcoin Knots | push | — | 90s | — |
| DATUM Gateway | push | — | 90s | — |
| Fulcrum | push | — | 90s | — |
| Mempool Backend | push | — | 180s | — |
| Mempool Frontend | push | — | 90s | — |
| Mempool MariaDB | push | — | 90s | — |
| Phoenixd | push | — | 90s | — |
| forgejo-runner-healthcheck | push | — | 90s | Forgejo Runner healthcheck - ping every 60s |
## small-backups-box - infra *(2 monitors)*
| Monitor | Type | Target | Interval | Notes |
|---|---|---|---|---|
| disk-usage-small-backups-box-root | push | — | 960s | upside-down, Disk Usage: small-backups-box (/) - Alerts when usage exceed |
| system-healthcheck-small-backups-box | push | — | 90s | System Healthcheck: small-backups-box - Regular healthcheck |

View file

@ -0,0 +1,51 @@
# Uptime Kuma — archived
Uptime Kuma was the monitoring stack for this infrastructure until **2026-09-11**, when
it was decommissioned. Everything that referenced it has been removed from the live
playbooks; this folder is the record of what it was, kept so the setup can be understood
later without digging through git history.
## Contents
| File | What it is |
|---|---|
| `MONITORS.md` | Every monitor that existed, grouped as it was in the UI. The authoritative record. |
| `monitors.json` | The same data, machine-readable, as returned by the API. |
| `deploy_uptime_kuma_playbook.yml` | How the server itself was deployed (Docker Compose on `monitoring`, behind Caddy). |
| `uptime_kuma_vars.yml` | Variables the deploy playbook needed — it is unreadable without these. |
| `setup_backup_uptime_kuma_to_lapy.yml` | How its data was backed up, and to where. Useful when disposing of the old volumes. |
## Why the inventory was captured from the live server, not the repo
The playbooks only ever created **17** monitors. The live instance had **75**. The
difference was created by hand in the UI and existed nowhere else — so a repo-derived
list would have silently lost two thirds of the picture. `MONITORS.md` is a snapshot of
the real thing, taken immediately before removal.
Push tokens are deliberately excluded. They are live credentials — anything holding one
can report a false "up" — and they become meaningless once the server is gone.
## What removal did NOT do
Removing the playbook code does not touch the machines. **48 push monitors** were driven
by scripts and systemd timers installed *on the hosts*, which keep firing on their
schedule and curling an endpoint that no longer answers. They are harmless but they are
still there, writing logs and failing quietly.
Left behind, per host:
- `/opt/disk-monitoring` + `disk-usage-monitor.{service,timer}` — on all 12 `managed` hosts
- `/opt/system-healthcheck` + `system-healthcheck.{service,timer}` — on all 12 `managed` hosts
- `/opt/nodito-monitoring` + `nodito-cpu-temp-monitor.{service,timer}``nodito`
- `/opt/zfs-monitoring``nodito`
- `/opt/ups-monitoring``nodito`
- `bitcoin-knots-healthcheck.{service,timer}``bitcoin`
- `datum-gateway-healthcheck.{service,timer}``bitcoin`
- `fulcrum-healthcheck.{service,timer}``electrum`
- `mempool-{backend,frontend,mariadb}-healthcheck.service``mempool`
- phoenixd and forgejo-runner healthcheck units — `edge`, `ci_runner`
Note `nut-monitor.service` on `nodito` is **NUT's own daemon**, not a monitoring
leftover — do not remove it with the rest.
Cleaning these up is a separate decommissioning pass and was not part of the removal.

File diff suppressed because it is too large Load diff