arjuanfelipe.com

Building a simple NOC for my VPS

Sep 2026 · notes

Starter note — replace with the full write-up.

I run a few small things on a single VPS behind Cloudflare: a static site, a couple of Node apps and some Docker stacks. Once there is more than one service on a box, "is it up?" stops being a question you can answer by memory. So I built Kaizen: a tiny NOC that gives me one screen for the whole machine.

What it watches

Nginx is the single front door, so its stub_status is exposed only on 127.0.0.1 and scraped from inside the network namespace. Each app has a /health endpoint on a loopback port. Container state, restart policies and disk come from the Docker socket through a read-only proxy. fail2ban and the auth log feed the "who is knocking" panel.

Design rules

One admin account. No inbound port beyond 22/80/443. Every upstream on loopback. The dashboard reads; it never acts on the host. Backups run from cron and are verified, not assumed.

What I'd do differently

Start with health endpoints on day one — retrofitting them across services is the slow part. And keep the NOC boring: the moment it needs its own babysitting, it has failed at its job.

← All notes