Raspberry Pi Telemetry Dashboard for Home Automation: Setup to Production

Raspberry Pi Telemetry Dashboard for Home Automation

The Problem: Home Automation Data Is Scattered and Unactionable The sensor data problem isn’t that you’re not collecting it — Home Assistant’s SQLite recorder captures almost everything by default. The problem is that SQLite starts choking on range queries once your history table grows past a few weeks of dense sensor data. Run EXPLAIN QUERY … Read more

5 Lightweight Tailscale Alternatives Worth Running on Your Own Hardware

Lightweight Tailscale Alternatives

Why Tailscale Becomes the Wrong Tool The Coordination Server Is the Hidden Dependency Tailscale’s WireGuard mesh is elegant, and the client software works well. The problem isn’t the protocol — it’s that the glue holding your mesh together lives on Tailscale’s servers, behind closed-source code you can’t audit or replicate. Every device auth, every key … Read more

nginx Active Health Checks Send Pod IPs as Host Headers — Here’s Why Your Backend Returns 502s

nginx active health checks pod IPs host headers 502 errors

The Symptom: Intermittent 502s That Only Appear on Health-Check Traffic The maddening part of this failure mode is that your backend looks healthy by every obvious metric. You curl the pod directly, you hit the service endpoint, everything returns 200. Real user traffic flows through fine — until nginx quietly decides the upstream is down … Read more

Modularized Workflow Toggles in GitHub Actions: Cutting CI/CD Run Time Without Losing Control

Modularized Workflow Toggles in GitHub Actions

The Problem: Every Push Runs Everything, and It’s Killing Your Feedback Loop The most expensive CI failure isn’t a flaky test — it’s running the full pipeline on a commit that changed two lines in README.md. A typical monolithic .github/workflows/ci.yml queues lint, unit tests, integration tests, Docker build, push to registry, deploy to staging, and … Read more

Self-Hosted Log Fingerprinting Pipelines: Catching Anomalies Without Sending Logs to the Cloud

self-hosted log fingerprinting

The Problem: Your Logs Are Noisy and Your Alerting Is Dumb Threshold-based alerting has a fundamental blind spot: it measures magnitude, not behavior. A sudden flood of HTTP 200s looks healthy to every rule you’ve probably written — no error rate spike, no latency breach, nothing trips. But if those 200s are all hitting /api/export … Read more

Building a Local Dashboard with Homepage: One Config File to Rule Your Self-Hosted Stack

self-hosted stack dashboard

The Problem: Thirty Services, Zero Visibility The moment you cross about a dozen self-hosted services, browser bookmarks stop working as an ops strategy. You end up with a mental map that looks something like this: Ollama is on :11434, n8n is on :5678, Grafana on :3000, Portainer on :9000, your WordPress instance somewhere behind an … Read more

Monitoring Kubernetes Clusters with OpenTelemetry Collector: The Agent + Gateway Pattern Explained

Monitoring Kubernetes Clusters with OpenTelemetry Collector

The Problem: Per-Node Chaos Without a Collection Strategy The failure mode nobody talks about until it’s happening in production: every pod opens a direct gRPC connection to your Tempo or Loki ingest endpoint, and the backend starts dropping spans not because it’s overloaded on CPU, but because it hits its concurrent connection limit. gRPC connections … Read more