فاينفرفاينفر
EN
برمجة 2 min read

How to Setup Bull Board in NestJS (Simple Guide)

Asha Vardhan

Asha Vardhan

April 9, 2026

In this guide, I will show you how to setup Bull Board in a NestJS project.
Bull Board is a UI dashboard to monitor your BullMQ queues (jobs, status, retries, etc).

see the working example: https://github.com/habilm/bullmq-nestjs


What is Bull Board?

Bull Board gives you a web UI where you can:

  • See all jobs in queue

  • Check failed jobs

  • Retry or delete jobs

  • Monitor queue activity


Step 1: Install Packages

Run this command:

npm install @bull-board/api @bull-board/express

Step 2: Create Bull Board Setup

Create a new file like bull-board.ts:

import { ExpressAdapter } from '@bull-board/express';
import { createBullBoard } from '@bull-board/api';
import { Queue } from 'bullmq';
import { BullMQAdapter } from '@bull-board/api/bullMQAdapter';

export function setupBullBoard(app: any, emailQueue: Queue) {
  const serverAdapter = new ExpressAdapter();
  serverAdapter.setBasePath('/admin/queues');

  createBullBoard({
    queues: [new BullMQAdapter(emailQueue)],
    serverAdapter,
  });

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

Step 3: Update main.ts

Now connect Bull Board to your NestJS app.

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { setupBullBoard } from './bull-board';
import { emailQueue } from './queue';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  setupBullBoard(app, emailQueue);

  await app.listen(3000);
}
bootstrap();

Step 4: Run Your App

Start your NestJS app:

npm run start

Step 5: Open Bull Board

Open your browser:

http://localhost:3000/admin/queues

You will see:

  • Job list

  • Completed jobs

  • Failed jobs

  • Queue details


Tips

  • You can add multiple queues:

queues: [
  new BullMQAdapter(emailQueue),
  new BullMQAdapter(paymentQueue),
]
  • Protect the route (/admin/queues) using auth (important for production)

  • Use separate Redis for production workloads


Example using Express middleware:

import * as basicAuth from 'express-basic-auth';

app.use(
  '/admin/queues',
  basicAuth({
    users: { admin: 'password' },
    challenge: true,
  }),
);

Conclusion

Now you have Bull Board setup in your NestJS app 🎉You can monitor your queues easily and manage jobs without checking logs.

Related Blogs

Related Blogs

لقد أنشأنا NestJs DuckDB: تكامل بسيط لـ DuckDB مع NestJS
برمجة
July 23, 2026

لقد أنشأنا NestJs DuckDB: تكامل بسيط لـ DuckDB مع NestJS

كمطورين، نستخدم غالبًا قواعد بيانات مثل PostgreSQL أو MySQL أو MongoDB عند بناء تطبيقات الواجهة الخلفية باستخدام NestJS. ولكن ليست كل مشكلة بيانات تتطلب إعداد قاعدة بيانات تقليدية.

BullMQ and Bull-Board with Nestjs - Take full Control of Queue process
الحوسبة السحابية
February 11, 2025

BullMQ and Bull-Board with Nestjs - Take full Control of Queue process

Have you ever struggled to run and maintain a large number of scripts? BullMQ is here to make your life easier!

How to Install BullMQ in NestJS (Simple Guide)
برمجة
April 8, 2026

How to Install BullMQ in NestJS (Simple Guide)