MCPcopy
hub / github.com/felixmosh/bull-board

github.com/felixmosh/bull-board @v8.1.0 sqlite

repository ↗ · DeepWiki ↗ · release v8.1.0 ↗
843 symbols 2,102 edges 320 files 10 documented · 1%
README

@bull-board @bull-board

Dashboard UI for Bull and BullMQ job queues. Plug it into your server, see your queues.

npm downloads licence open issues

bull-board dashboard

Documentation

The docs have guides, recipes, the UIConfig reference, and per-adapter setup. There's also a live demo.

Install

Pick the adapter for your framework:

npm install @bull-board/api @bull-board/express
# or @bull-board/fastify, @bull-board/koa, @bull-board/hapi,
# @bull-board/nestjs, @bull-board/hono, @bull-board/h3,
# @bull-board/elysia, @bull-board/bun

Minimal Express example

const express = require('express');
const { Queue } = require('bullmq');
const { createBullBoard } = require('@bull-board/api');
const { BullMQAdapter } = require('@bull-board/api/bullMQAdapter');
const { ExpressAdapter } = require('@bull-board/express');

const queue = new Queue('emails', { connection: { host: 'localhost', port: 6379 } });

const serverAdapter = new ExpressAdapter();
serverAdapter.setBasePath('/admin/queues');

const { addQueue, removeQueue, setQueues, replaceQueues } = createBullBoard({
  queues: [new BullAdapter(someQueue), new BullAdapter(someOtherQueue), new BullMQAdapter(queueMQ)],
  serverAdapter: serverAdapter,
});

const app = express();

app.use('/admin/queues', serverAdapter.getRouter());

// other configurations of your server

app.listen(3000, () => {
  console.log('Running on 3000...');
  console.log('For the UI, open http://localhost:3000/admin/queues');
  console.log('Make sure Redis is running on port 6379 by default');
});

That's it! Now you can access the /admin/queues route, and you will be able to monitor everything that is happening in your queues 😁

See the docs for queue adapter options (read-only, retries, formatters, visibility guard), BullMQ Pro setup, board UI config, and more.

Packages

Name Version Downloads
@bull-board/api npm npm downloads
@bull-board/ui npm npm downloads
@bull-board/express npm npm downloads
@bull-board/fastify npm npm downloads
@bull-board/koa npm npm downloads
@bull-board/hapi npm npm downloads
@bull-board/nestjs npm npm downloads
@bull-board/hono npm npm downloads
@bull-board/h3 npm npm downloads
@bull-board/elysia npm npm downloads
@bull-board/bun npm npm downloads

Contributing

Issues and PRs welcome. Check the issues page before opening a new one. When reporting a bug, include versions (Node, Redis, Bull/BullMQ, bull-board) and a minimal reproduction.

To develop locally:

git clone git@github.com:felixmosh/bull-board.git
cd bull-board
yarn && yarn build && yarn dev

Requires Redis running on 6379. Dev server opens at http://localhost:3000/ui.

Acknowledgements

  • Juan for building the first version of this library.

License

MIT.

Extension points exported contracts — how you extend this code

IServerAdapter (Interface)
(no doc) [18 implementers]
packages/api/typings/app.d.ts
NormalizedResponse (Interface)
(no doc)
packages/test-utils/src/serverAdapterContract.ts
UpdateJobModalProps (Interface)
(no doc)
packages/ui/src/components/UpdateJobDataModal/UpdateJobDataModal.tsx
QueueSpec (Interface)
(no doc)
website/demo/src/mocks/fixtures.ts
QueueJob (Interface)
(no doc) [2 implementers]
packages/api/typings/app.d.ts
ContractRequest (Interface)
(no doc)
packages/test-utils/src/serverAdapterContract.ts
IPaginationProps (Interface)
(no doc)
packages/ui/src/components/Pagination/Pagination.tsx
DemoJob (Interface)
(no doc)
website/demo/src/mocks/state.ts

Core symbols most depended-on inside this repo

createBullBoard
called by 73
packages/api/src/index.ts
getRouter
called by 58
packages/express/src/ExpressAdapter.ts
use
called by 49
examples/with-nestjs/src/queues/basic-auth.middleware.ts
catch
called by 39
examples/with-nestjs-fastify-auth/src/exception-filter.ts
obliterate
called by 25
packages/api/src/queueAdapters/bull.ts
register
called by 25
examples/with-nestjs/src/queues/queues.module.ts
isPaused
called by 19
packages/api/src/queueAdapters/bull.ts
queueProvider
called by 18
packages/api/src/providers/queue.ts

Shape

Function 408
Method 284
Interface 78
Class 73

Languages

TypeScript100%

Modules by API surface

packages/api/typings/app.d.ts32 symbols
packages/ui/src/services/Api.ts27 symbols
packages/api/src/queueAdapters/bullMQ.ts25 symbols
packages/api/src/queueAdapters/bull.ts25 symbols
website/demo/src/mocks/MockAdapter.ts22 symbols
packages/api/src/queueAdapters/bullMQPro.ts17 symbols
website/demo/src/mocks/fixtures.ts16 symbols
packages/elysia/src/ElysiaAdapter.ts15 symbols
packages/bun/src/BunAdapter.ts14 symbols
packages/ui/src/hooks/useQueues.ts13 symbols
packages/hono/src/HonoAdapter.ts13 symbols
packages/h3/src/H3Adapter.ts13 symbols

Dependencies from manifests, versioned

@base-ui/react1.6.0 · 1×
@bull-board/api8.1.0 · 1×
@bull-board/elysia6.21.1 · 1×
@bull-board/h36.14.1 · 1×
@bull-board/hapi6.0.0 · 1×
@bull-board/hono6.0.0 · 1×
@bull-board/koa6.2.4 · 1×
@bull-board/nestjs6.0.0 · 1×
@bull-board/test-utils8.1.0 · 1×
@bull-board/ui8.1.0 · 1×

For agents

$ claude mcp add bull-board \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact