Modern dashboard implementations for RocketMQ-Rust and Apache RocketMQ.
This directory contains multiple dashboard implementations that share similar domain goals but are built as separate projects:
- rocketmq-dashboard-common: shared models and common logic
- rocketmq-dashboard-gpui: native desktop UI built with GPUI
- rocketmq-dashboard-tauri: cross-platform desktop UI built with Tauri, Rust, React, and TypeScript
Important: rocketmq-dashboard itself is not a Cargo workspace root. You cannot run cargo build --workspace or cargo build -p rocketmq-dashboard-tauri from this directory.
- Rust toolchain 1.85.0 or later
- For
rocketmq-dashboard-tauri: Node.js and npm - Tauri platform prerequisites for your OS
Run the Tauri desktop app in development mode:
cd rocketmq-dashboard/rocketmq-dashboard-tauri
npm install
npm run tauri devThis only builds the React frontend and is useful for verifying TypeScript and Vite output:
cd rocketmq-dashboard/rocketmq-dashboard-tauri
npm install
npm run buildThis is the default way to produce the Tauri desktop package in this repo:
cd rocketmq-dashboard/rocketmq-dashboard-tauri
npm install
npm run tauri buildIf you prefer the Cargo-based Tauri CLI, install it first and then build from the same directory:
cargo install tauri-cli
cd rocketmq-dashboard/rocketmq-dashboard-tauri
cargo tauri buildThe generated desktop bundle is placed under:
rocketmq-dashboard/rocketmq-dashboard-tauri/src-tauri/target/release/bundle/
Notes:
npm run builddoes not produce the Tauri installer/package. It only builds the frontend assets.cargo buildinsidesrc-tauridoes not produce the Tauri installer/package either. It only builds the Rust side.npm run tauri buildandcargo tauri buildboth produce the Tauri desktop package.cargo tauri buildrequires the Tauri CLI to be installed first.
cd rocketmq-dashboard/rocketmq-dashboard-gpui
cargo runcd rocketmq-dashboard/rocketmq-dashboard-gpui
cargo build --releasecd rocketmq-dashboard/rocketmq-dashboard-tauri
npm run build
cd src-tauri
cargo check
cargo testcd rocketmq-dashboard/rocketmq-dashboard-gpui
cargo check
cargo testrocketmq-dashboard-web is the browser-based Dashboard implementation. It is split into:
rocketmq-dashboard-web/backend: standalone Rust 2024 + Axum HTTP API projectrocketmq-dashboard-web/frontend: React + TypeScript + Vite frontend project
The Web backend is intentionally not added to the root Cargo workspace, matching the standalone project model already used by GPUI and Tauri desktop implementations.
Backend development:
cd rocketmq-dashboard/rocketmq-dashboard-web/backend
cargo runFrontend development:
cd rocketmq-dashboard/rocketmq-dashboard-web/frontend
npm install
npm run devConfiguration can be provided with:
DASHBOARD_WEB_HOST=127.0.0.1
DASHBOARD_WEB_PORT=8082
NAMESRV_ADDR=127.0.0.1:9876
DASHBOARD_WEB_STORAGE_BACKEND=file
DASHBOARD_WEB_STORAGE_PATH=data/dashboard-config.jsonUse DASHBOARD_WEB_STORAGE_BACKEND=sqlite with a .db storage path to persist configuration in SQLite.
Current Web capabilities include health/config APIs, optional auth/session APIs with protected API middleware, file or SQLite config persistence, live RocketMQ Admin queries for Dashboard overview, Topic, Broker, Consumer, Producer, Message lookup, message trace, ACL user/policy read workflows, Topic create/update/delete for explicit cluster or broker targets, Broker config update for explicit broker names or addresses, Consumer reset offset by topic and timestamp, Message resend through direct consume, ACL user create/update/delete, ACL policy create/update/delete, DLQ key/messageId query plus bounded page scan with batch resend/export payloads, local Monitor rule persistence, in-memory Dashboard history collection, a feature-gated common DashboardAdminFacade adapter for core Web admin services, plus a Vite UI for Dashboard, Topic, Consumer, Producer, Broker, Message, DLQ, ACL, Monitor, Login, and Config routes. Remaining hardening work is deeper Tauri Admin Manager extraction into common and browser E2E coverage.
This project inherits the license from the parent RocketMQ-Rust project:
- Apache License 2.0