bext-tui
A full-featured terminal dashboard for bext, built with Ratatui. It connects to the same admin API the web dashboard uses, but runs entirely inside a terminal — perfect for SSH sessions, headless servers, and operators who live in tmux.
Why a TUI?
| bext CLI | bext-tui | Companion (Tauri) | Web dashboard | |
|---|---|---|---|---|
| Stateless one-shot commands | ✓ | |||
| Live, interactive view | ✓ | ✓ | ✓ | |
| Works over SSH | ✓ | ✓ | ||
| No browser required | ✓ | ✓ | ||
| Resource overhead | tiny | tiny | medium | needs browser |
| Action shortcuts (purge, restart, deploy) | ✓ (manual) | ✓ (interactive) | ✓ | ✓ |
| Multi-instance aggregated view | ✓ | ✓ |
bext-tui fills the gap between the stateless CLI and the heavier graphical clients. If you're already in a terminal — debugging in tmux, SSH'd into a production VPS, or just allergic to browsers — this is the dashboard for you.
What it shows
| View | Contents |
|---|---|
| Dashboard | Health indicators, request rate sparkline, latency, top sites by traffic, recent events |
| Sites | Per-site list with framework, version, status, request rate, cache hit; drill-down with Info / Metrics / Deploys / Logs / Workers tabs |
| Requests | Live-streaming request log with pause/resume, filter, color-coded status, drill-down |
| Cache | ISR / stampede stats, hit rate meter, purge controls |
| Workers | V8 / Bun / PHP pool status, memory, request counts, restart actions |
| TLS | Certificate inventory with expiry coloring, ACME renewal trigger |
| Proxy | Upstream pool with circuit breaker states, latency, error rate |
| WAF | Blocked-request summary, top rules, top IPs, rule toggle |
| Deploy | Deployment timeline with rollback, canary promotion |
| Logs | Searchable log viewer backed by the bext log store |
| Config | Parsed config with hot-reload + validation |
See Views for screen-by-screen details.
Quick start
# Connect to a local bext instance
bext-tui --host 127.0.0.1 --port 4000 --token "$BEXT_ADMIN_TOKEN"
# SSH into prod and use it there
ssh activ-2 -- bext-tui --local
# Multi-instance dashboard
bext-tui --instances ~/.config/bext-tui/instances.toml
The TUI launches into the Dashboard view. Press ? for the keybinding overlay, : for the command palette, or q to quit.
See Installation for build and install instructions.
At a glance
┌─ bext-tui ───────────────────────────────────────────────────┐
│ Dashboard Sites Requests Cache Workers TLS Proxy ... │
├──────────────────────┬───────────────────────────────────────┤
│ Platform health │ Metrics │
│ ● Server: UP │ req/s ▁▂▃▅▆█▇▅▃▂▁▂▃▄▅▆▇█▇▅ │
│ ● Cache: OK │ 1,247 │
│ ● Workers: 4/4 │ avg latency ▂▃▂▄▃▂▂▂▃▂▂▃▃▂▃▂ │
│ ● License: valid │ 12.4 ms │
│ ● Uptime: 14d 7h │ │
├─────────┬────────────┴─────────┬────────────────────────────┤
│ Quick │ Top sites │ Recent │
│ stats │ 1. activcomm 342 │ 10:42 200 /api/users │
│ ... │ 2. infra.wd29 201 │ 10:42 304 /static/main.js │
└─────────┴──────────────────────┴────────────────────────────┘
│ ● Connected │ remote │ ↻ 2000ms 10:43:12 │
└──────────────────────────────────────────────────────────────┘
Documentation
- Installation — how to build and install
- Connection modes — remote, local, multi-instance
- Views — screen-by-screen feature walkthrough
- Keybindings — full keyboard reference
- Command palette — fuzzy-search every action
- Configuration — CLI flags and config file