A terminal UI for RabbitMQ, inspired by htop/ctop/dtop: browse queues and exchanges via the Management HTTP API, purge/delete/peek without leaving the terminal, and — when Docker is available — control the RabbitMQ container itself, all from one dashboard.
- Overview — total queues/exchanges, ready messages, and active connections at a glance, each with a live sparkline of recent history.
- Queues — state, ready/unacked/total counts, consumers, in/out rates, memory; filter by name, purge or delete, peek at messages without consuming them.
- Exchanges — type, durability, binding count; drill into an exchange's bindings and jump straight to a bound queue.
- Container — if the RabbitMQ node is running in Docker, see its status/CPU/memory and start, stop, restart it, or tail its logs.
- Cluster picker — auto-detects running RabbitMQ containers via Docker and prefills the connection form; manual entry works too when Docker isn't available.
Go install:
go install github.com/Sans-arch/rbtop/cmd/rbtop@latestBinary download: grab the archive for your platform from the latest release.
Homebrew: coming soon.
rbtopOn startup, rbtop lists RabbitMQ-looking Docker containers it finds on the host (or falls back to manual entry), lets you confirm/edit the connection details, then connects and starts polling.
Flags take precedence over environment variables, which take precedence over defaults. These only prefill the connection form — rbtop doesn't connect to anything until you confirm it.
| Flag | Env var | Default | Description |
|---|---|---|---|
--host |
RBTOP_HOST |
localhost |
RabbitMQ management host |
--port |
RBTOP_PORT |
15672 |
RabbitMQ management port |
--user |
RBTOP_USER |
guest |
RabbitMQ username |
--pass |
RBTOP_PASS |
guest |
RabbitMQ password |
--vhost |
RBTOP_VHOST |
/ |
RabbitMQ vhost |
--interval |
RBTOP_INTERVAL |
2s |
Polling interval |
Global (main app): 1-4 or tab/shift+tab/←/→ to switch tabs, q to quit.
| Screen/tab | Keys |
|---|---|
| Cluster picker | ↑/k ↓/j move · enter select · r refresh · q quit |
| Login form | tab/shift+tab move between fields · enter connect · esc back |
| Overview | (read-only — no actions) |
| Queues | / filter · p purge · d delete · enter/m peek messages |
| Exchanges | enter view bindings · d delete · h hide/show default exchanges |
| Container | s start · S stop · r restart · l view logs |
| Bindings view | ↑/k ↓/j move · enter jump to bound queue · esc close |
go build ./...
go vet ./...
go test ./...No RabbitMQ or Docker instance is required to run the test suite — the RabbitMQ client and Docker client are both behind interfaces with fakes used in tests.
Contributions are welcome — see CONTRIBUTING.md.
