| ... | ... | @@ -0,0 +1,45 @@ |
| 1 | # status.paperclover.net (uptime-kuma on the web node) |
| 2 | |
| 3 | lives on the web node (`ssh paperclover.net`, usw-server-1) — NOT the nas — |
| 4 | so 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 | |
| 17 | monitors: clover's git, snow sign on, jellyfin, navidrome, copyparty, |
| 18 | at-proto pds, paperclover.net's database, dawarich, openspeedtest — all |
| 19 | checked over public https every 60s from the web node. |
| 20 | |
| 21 | ## caddy |
| 22 | |
| 23 | the 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 |
| 27 | sudo tee -a /etc/caddy/Caddyfile <<'EOF' |
| 28 | |
| 29 | status.paperclover.net { |
| 30 | reverse_proxy localhost:3001 |
| 31 | } |
| 32 | EOF |
| 33 | sudo 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 |
| 41 | cd ~/uptime-kuma |
| 42 | git fetch --depth 1 origin tag <ver> && git checkout <ver> |
| 43 | npm ci --omit dev --no-audit && npm run download-dist |
| 44 | pm2 restart uptime-kuma |
| 45 | ``` |