authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-06-11 00:56:31-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-06-11 01:38:21-07:00
log918ed85280c0631abaaa079cc74e341b5ea8c089
tree976639866754dc91699bcc08053fed26ca47b491
parentcd70d3bf83764651ce991f1a724a0994250409c9
signaturebadge-check Signed by SSH key SHA256:xbd+BjjhyBfwk7GVoURf9Yx0gzDerHbvYv7SddNWmAs

docs: uptime-kuma status page on the web node

closes #20 status.paperclover.net -> web node (5.78.97.105, explicit dns record overriding the wildcard that points home), uptime-kuma 2.4.0 under pm2 on 127.0.0.1:3001, public status page with monitors for git/auth/ jelly/music/file/at/db/dawarich/speedtest. caddy vhost hot-loaded via the admin api; persisting it into /etc/caddy/Caddyfile needs the sudo one-liner in webnode-status.md.

1 files changed, 45 insertions(+), 0 deletions(-)

webnode-status.md created+45
......@@ -0,0 +1,45 @@
1# status.paperclover.net (uptime-kuma on the web node)
2
3lives on the web node (`ssh paperclover.net`, usw-server-1) — NOT the nas —
4so the status page stays up when home goes down. (issue #20)
5
6## what's where
7
8| thing | location |
9|-------|----------|
10| uptime-kuma 2.4.0 checkout | `~/uptime-kuma` (git, release tag) |
11| data (sqlite, logs) | `~/uptime-kuma-data` |
12| process manager | pm2 app `uptime-kuma` (`pm2 logs uptime-kuma`), listens 127.0.0.1:3001 |
13| admin login | user `clo`, password in `~/kuma-admin-pass.txt` on the node — log in and change it |
14| dns | explicit A record `status` → 5.78.97.105 (overrides the `*` wildcard that points home; ddns-updater only touches the wildcard) |
15| public page | https://status.paperclover.net (status page slug `home`, entry page) |
16
17monitors: clover's git, snow sign on, jellyfin, navidrome, copyparty,
18at-proto pds, paperclover.net's database, dawarich, openspeedtest — all
19checked over public https every 60s from the web node.
20
21## caddy
22
23the vhost was hot-loaded via the admin api and is NOT yet in /etc/caddy/Caddyfile
24(that needs sudo). to persist it across caddy restarts, run on the web node:
25
26```sh
27sudo tee -a /etc/caddy/Caddyfile <<'EOF'
28
29status.paperclover.net {
30 reverse_proxy localhost:3001
31}
32EOF
33sudo systemctl reload caddy
34```
35
36(the same block is staged in `~/Caddyfile.new`, which is the live config.)
37
38## upgrading kuma
39
40```sh
41cd ~/uptime-kuma
42git fetch --depth 1 origin tag <ver> && git checkout <ver>
43npm ci --omit dev --no-audit && npm run download-dist
44pm2 restart uptime-kuma
45```