// the find
felixmosh/bull-board
🎯 Queue background jobs inspector
A dashboard for inspecting BullMQ queues, and legacy Bull queues, that mounts inside an existing Express, Fastify, Koa, NestJS or similar server, or runs standalone through the npx CLI or Docker image. It suits teams that want to see stuck jobs, retry failures and read job flows without building an admin page themselves.
- The adapter layer is split cleanly. The queue logic lives in @bull-board/api and each framework gets a thin adapter on top, so covering a dozen servers does not mean a dozen copies of the logic, and the UI ships as its own package.
- Parent and child jobs render as one graph even when the children sit in other queues, and clicking a node inspects it in place. Flat per-queue lists hide which child is blocking which parent. A graph shows it.
- The support claims have test configs behind them. The tree has separate Jest configs for the BullMQ floor, v5 and v6, plus a matrix spec that includes the PostgreSQL backend, so the version statements in the README are checkable rather than aspirational.
- Historical metrics is opt-in and the core writes nothing by default. Installing the board does not add Redis writes or a retention policy you did not ask for.
- Authentication is left to you. The quick-start commands in the README do not mention login, and the authenticated setups live in examples/ (basic auth, login forms, CSRF) rather than in the defaults. The board can retry, edit, clean and obliterate jobs, so an unprotected port is a real exposure and needs a proxy or the example pattern before it goes anywhere shared.
- The historical metrics feature is marked beta. Keeping 90 days of per-minute buckets in Redis costs real memory, which is why the README has a storage-sizing recipe. Read that before turning on --history against a Redis that other things depend on.
- Breadth is the cost. More than a dozen framework adapters, a legacy Bull adapter alongside the BullMQ and BullMQ Pro ones, and a theming system all live in one repo. Each adapter is a surface that can lag behind the others when BullMQ changes, and the README already has to spell out which BullMQ versions are tested and where the floor moves.