Ember: real-time terminal dashboard for Caddy servers

Hi!

I’m Alexandre Daubois, one of the FrankenPHP and PHP core team maintainers. PHP ecosystem is closer to Caddy than we could think thanks to FrankenPHP. For those who don’t know it, it is now hosted under the php organization on GitHub.

I built Ember because I kept running into the same problem in production: when something breaks, the debugging workflow is htop then tail -f | jq and hope for the best to see something obvious.

Ember is a terminal UI (built with Go/Bubble Tea) that gives you real-time observability into your Caddy stack. Single binary, zero config, keyboard-driven, works over SSH (for whoever is still doing this when the prod is burning… :face_without_mouth:).

ember

What it does today:

  • RPS / latency / error rate tracking
  • Prometheus-compatible /metrics daemon endpoint with derived metrics (percentiles, RPS…) for cloud env
  • Per-host metrics breakdown
  • JSON streaming for piping into external tools
  • Upstream health panel
  • TLS certificate dashboard (issuer, next renewal, etc.)
  • FrankenPHP worker inspector: queue depth, busy/ready workers, crash & restart counters
  • It’s super light-weight: I’ve never seen it use more than 15 MB of RAM during my tests
  • Full list available here if you want to know more

What’s on the roadmap:

I spent some time researching pain points across this forum, Reddit, and GitHub issues to make sure the roadmap reflects real operator needs. Among other things, here is what’s planned:

  • Live request stream with filtering (skip health checks, filter by status code, route, etc.). (This one’s almost ready!)
  • Plugin system to customize Ember the way you would need it
  • Anything you’d find useful

This is production-stable, and supported by FrankenPHP. We’re building this for the long run. And of course it’s open-source! The project is under MIT license. It is installable with a one-liner.

Here is the GitHub link: GitHub - alexandre-daubois/ember: 🔥 Real-time terminal dashboard for Caddy servers, with built-in FrankenPHP support · GitHub

I would love your feedback, especially on what you’d want to see next. What’s your biggest blind spot when running Caddy in production?

1 Like