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