Running 49 containers without observability is just guessing. You don’t know what’s wrong until it’s been wrong for a while. At this scale, the observability stack isn’t a nice-to-have — it’s the difference between knowing your system is healthy and finding out after it’s been down for hours.
The Stack
Three pillars, one dashboard:
Prometheus — metrics. CPU, memory, disk, network, container restarts, custom application metrics. Stored in-memory with a 30-day retention window.
Loki — logs. Structured log aggregation from all containers. Label-based indexing instead of full-text search — faster, smaller storage.
Grafana — the view layer. Dashboards for everything: infrastructure health, per-container metrics, log streams, alert status.
Alloy is the collector. It replaces Prometheus’ native scrape config and Pushgateway, pulling metrics from exporters and forwarding them to the right backend.
Exporters
node_exporter — host-level metrics (CPU, memory, disk I/O, network)
process_exporter — per-process resource usage
smartctl_exporter — disk health (SMART attributes, temperature, reallocated sectors)
The last one is the most important. A failing disk doesn’t give you a graceful degradation — it gives you silence, then data loss. smartctl_exporter catches it before that happens.
Alerting
Grafana alerts on threshold breaches. Disk usage above 85%, container restart loops, unexporter processes. The alerts go to my phone through a simple webhook. It’s not PagerDuty, but it works.
What I’d Add Next
Long-term storage (Thanos or Cortex) for historical analysis. Right now 30 days is enough, but patterns only show up over months.
{"menu":[{"name":"Pages","items":[{"label":"Home","subtitle":"Overview","action":"navigate:/","icon":"page"},{"label":"Career","subtitle":"Timeline & principles","action":"navigate:/career","icon":"page"},{"label":"Projects","subtitle":"All projects","action":"navigate:/projects","icon":"page"},{"label":"About","subtitle":"About Meher","action":"navigate:/about","icon":"page"}]},{"name":"Settings","items":[{"label":"Toggle Theme","subtitle":"","action":"toggleTheme","icon":"theme"}]}],"fuse":{"threshold":0.6,"minMatchCharLength":2,"keys":["label","subtitle","searchableText"]},"projects":[{"title":"Global Payroll Platform","description":"In-house payroll platform across 6 APAC markets, $1.2B annually. I define the technical requirements, coordinate payments integrations, and make sure the engineering teams build what the business actually needs.","tags":["Python","SQL","API Integration","ISO 20022"],"link":"#","image":null,"techStack":["Python","SQL","API Integration","ISO 20022"],"size":"large","domain":"fintech","icon":null,"featured":true},{"title":"Fraud Detection Engine","description":"1.5M payment transactions analyzed. Built automated detection rules that caught the obvious cases — the ones that shouldn't need a human reviewing them. Cut manual validation by 80%. QuickSight dashboards so the non-technical teams could see what was flagged and why.","tags":["Python","QuickSight","Analytics"],"link":"#","image":null,"techStack":["Python","QuickSight","SQL"],"size":"medium","domain":"analytics","icon":null},{"title":"Background Check Revamp","description":"India's background checks were taking four months at the 90th percentile. Candidates would leave. Worked with Legal, Compliance, and Business to renegotiate vendor SLAs, parallelize the workflow, and grow the team from 10 to 45. Cut it to one month, impacted 120K annual hires.","tags":["Operations","Compliance","Process Engineering"],"link":"#","image":null,"techStack":["SQL","QuickSight","VBA"],"size":"medium","domain":"data","icon":null},{"title":"Sovereign Homelab","description":"50 services on bare metal: reverse proxy, DNS, VPN, password manager, photo library, media streaming, AI inference, git CI/CD, smart home, Matrix federation. Full observability via Grafana, Loki, Prometheus, and Alloy. No cloud provider.","tags":["Docker","Linux","Caddy","NetBird"],"link":"#","image":null,"techStack":["Docker","Caddy","NetBird","Vaultwarden"],"size":"large","domain":"infrastructure","icon":null,"featured":true},{"title":"AI Node","description":"Private LLM inference on CUDA GPU. llama.cpp server with quantized models, Open WebUI frontend. Used through OpenCode on my laptop and my Hermes agent on Matrix when I'm out. No cloud APIs, no telemetry.","tags":["CUDA","llama.cpp","Open WebUI"],"link":"#","image":null,"techStack":["Python","CUDA","llama.cpp"],"size":"medium","domain":"ai","icon":null,"featured":true},{"title":"AI & LLM on Your Homelab — A Tutorial","description":"Step-by-step guide to running your own AI inference stack at home. llama.cpp, Open WebUI, Caddy reverse proxy, Matrix integration — everything local, everything yours.","tags":["Tutorial","AI","llama.cpp","Homelab"],"link":"#","image":null,"techStack":["llama.cpp","Open WebUI","Caddy","Docker"],"size":"medium","domain":"ai","icon":null,"featured":false},{"title":"Matrix Citadel","description":"Self-hosted Matrix federation with full voice and video via dual LiveKit servers. Twunnel bridges between two homeservers, JWT auth services, OpenClaw Gateway for AI agent orchestration.","tags":["Matrix","LiveKit","Twunnel"],"link":"https://cloudcitadel.in","image":null,"techStack":["Matrix","LiveKit","Twunnel","OpenClaw"],"size":"medium","domain":"infrastructure","icon":null},{"title":"Media & Photo Stack","description":"Jellyfin streaming with automated library management, subtitles, and analytics. Immich photo library with ML-powered face recognition and reverse image search.","tags":["Jellyfin","Immich","Media Server"],"link":"#","image":null,"techStack":["Jellyfin","Immich","PostgreSQL"],"size":"medium","domain":"infrastructure","icon":null},{"title":"Observability Stack","description":"Full infrastructure telemetry: Grafana dashboards, Loki log aggregation, Prometheus metrics, Alloy collector, plus node, process, and disk health exporters. Monitoring 50 services and bare-metal health in real time.","tags":["Grafana","Prometheus","Loki","Alloy"],"link":"#","image":null,"techStack":["Grafana","Prometheus","Loki","Alloy"],"size":"medium","domain":"infrastructure","icon":null},{"title":"Gitea","description":"Self-hosted git server with CI runner and built-in container registry. This is where the folio lives — code pushed here, the runner builds it, the registry stores the image, and it deploys back to the same machine. Source to production, nothing leaves the box.","tags":["Git","CI/CD","Container Registry"],"link":"https://git.nexusno.de","image":null,"techStack":["Gitea","Docker","CI/CD"],"size":"medium","domain":"infrastructure","icon":null},{"title":"Immich","description":"Photo library with ML-powered face recognition, reverse image search, and automatic duplicate detection. Replaces Google Photos without the telemetry — all the smart features, none of the cloud.","tags":["Immich","ML","Photos"],"link":"#","image":null,"techStack":["Immich","OpenVINO","PostgreSQL"],"size":"medium","domain":"infrastructure","icon":null},{"title":"Home Assistant + Frigate","description":"Smart home automation with AI security camera system. Frigate does hardware-accelerated object detection — people, dogs, cars — on the cameras, not the cloud. Home Assistant ties everything together: lights, sensors, automations, and camera events.","tags":["Home Assistant","Frigate","Smart Home"],"link":"#","image":null,"techStack":["Home Assistant","Frigate","Docker"],"size":"medium","domain":"infrastructure","icon":null},{"title":"SearXNG","description":"Self-hosted metasearch that aggregates results from Bing, Wikipedia, and others without tracking. Replaces the browser search bar — same results, no data broker on the other end.","tags":["SearXNG","Privacy","Search"],"link":"https://search.nexusno.de","image":null,"techStack":["SearXNG","Docker","Valkey"],"size":"small","domain":"infrastructure","icon":null}],"skills":{"tools":["Python","SQL","QuickSight","VBA","Docker","Linux","Kubernetes","Grafana","Prometheus","Loki","Caddy","Matrix"],"standards":["ISO 20022"],"domains":["Payments","Infrastructure","Process Engineering"]},"contact":{"email":"hi@meherchaitanya.com","channels":[{"label":"Email","url":"mailto:hi@meherchaitanya.com","displayText":"hi@meherchaitanya.com","icon":"mail","external":false},{"label":"LinkedIn","url":"https://linkedin.com/in/meherchaitanya","displayText":"meherchaitanya","icon":"linkedin","external":true},{"label":"Matrix","url":"https://matrix.to/#/@meher:hanumara.online","displayText":"@meher:hanumara.online","icon":"matrix","external":true}]}}