blog.iankulin.com

Uptime-Kuma

Detecting front-end client errors

Client-side JavaScript errors go unnoticed by keyword-based uptime checks like Uptime Kuma’s, which is how a broken weather widget slipped past monitoring on one of my sites. I walk through building Faultsy, a lightweight alternative to Sentry: a browser script captures uncaught errors and unhandled promise rejections, reports them to a small Node server via sendBeacon(), and exposes per-site error counts as JSON that Uptime Kuma can monitor. The project is on GitHub and still under active development...

Fly.io, Uptime Kuma & scraping a status page

Because my Uptime Kuma monitoring instance runs on a home network sharing the same flaky 4G connection as the VPS sites it watches, I consider Uptime Robot before deploying a second instance on Fly.io’s free tier. Setting it up as a Docker container proves simple, and to fold the remote status back into my local instance I discover Uptime Kuma already exposes an SVG status badge usable with keyword monitoring, avoiding a custom scraping endpoint...

Lightweight Web Servers

After a couple of homelab incidents that Uptime Kuma didn’t catch, including a vanished USB mount and an NVMe drive filling up, I consider adding custom checks for things like disk space, memory use, and mount status via a small metrics endpoint. Weighing Node/Express against Python, C, and Golang, I conclude that C’s benchmark edge isn’t worth the hassle for endpoints polled only every few minutes...

Updating SSL Certificates

A short walkthrough of manually renewing SSL certificates before expiry: downloading the new certificates from PorkBun, concatenating the cert and intermediate files into a fullchain with a newline between them (avoiding an issue from the previous renewal), and restarting the nginx Docker container to pick them up. Uptime Kuma and ntfy notifications confirmed the swap, leaving 84 days until the next renewal — which I still intend to automate...

Uptime Kuma & NTFY

I walk through setting up Uptime Kuma, a self-hosted monitoring tool, in a Docker container to watch network devices and web services, with notifications pushed to a phone via NTFY. I cover basic monitor types like ping and HTTP checks, how NTFY’s topic-based subscriptions work, and the security trade-offs of its open public topics...