{"_id":"@morpho-org/bull-board-nestjs","_rev":"8-933508466c15b34fcea1e707fef1fa0d","name":"@morpho-org/bull-board-nestjs","dist-tags":{"latest":"6.23.0"},"versions":{"6.12.1":{"name":"@morpho-org/bull-board-nestjs","version":"6.12.1","keywords":["bull","bullmq","redis","queue","monitoring","nestjs","nestjs-module"],"author":{"name":"Dennis Snijder","email":"dennis@snijder.io"},"license":"MIT","_id":"@morpho-org/bull-board-nestjs@6.12.1","maintainers":[{"name":"gabin53","email":"gabin@morpho.xyz"},{"name":"julien-devatom","email":"julien.thomas84@gmail.com"},{"name":"mathisgd","email":"mathis@morpho.xyz"},{"name":"merlin-egalite","email":"merlin@morpho.xyz"},{"name":"rubilmax","email":"rmilon@gmail.com"}],"homepage":"https://github.com/morpho-org/bull-board#readme","bugs":{"url":"https://github.com/morpho-org/bull-board/issues"},"dist":{"shasum":"43e856bf2be41382396eacb19f44f525a38e5a4e","tarball":"https://registry.npmjs.org/@morpho-org/bull-board-nestjs/-/bull-board-nestjs-6.12.1.tgz","fileCount":27,"integrity":"sha512-3w2wr4DI2Sf2UkJnsZ2wagSvHkZpNoulDd4fF4f1E/ZAUnvQF8J/Bb3aZIo7Tix1SvdEkRhegjwE7619Zc0diw==","signatures":[{"sig":"MEUCIQDtRjqB8FNUTU3948ZSyF8s3fVaZ3aCLUV/zGP/OLhaxwIgJPhqkQEygo3qYY4M1LSqvNkGcY1AWTcZ8IbSm53UGY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31334},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"eff46e3c5dc0a7a3ad67739f01a972eadad6635d","scripts":{"build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"rubilmax","email":"rmilon@gmail.com"},"repository":{"url":"git+https://github.com/morpho-org/bull-board.git","type":"git","directory":"packages/nestjs"},"_npmVersion":"10.1.0","description":"A NestJS module for Bull-Board dashboard.","directories":{},"_nodeVersion":"18.17.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bull":"^4.16.5","rxjs":"^7.8.2","bullmq":"^5.53.2","typescript":"^5.8.3","@types/node":"18.19.111","@nestjs/core":"^11.1.3","@nestjs/bullmq":"^11.0.2","@nestjs/common":"^11.1.3","reflect-metadata":"^0.2.2","@nestjs/bull-shared":"^11.0.2","@morpho-org/bull-board-api":"^6.12.1","@morpho-org/bull-board-express":"^6.12.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","reflect-metadata":"^0.1.13 || ^0.2.0","@nestjs/bull-shared":"^10.0.0 || ^11.0.0","@morpho-org/bull-board-api":"^6.12.1"},"_npmOperationalInternal":{"tmp":"tmp/bull-board-nestjs_6.12.1_1753862127588_0.49807288996916177","host":"s3://npm-registry-packages-npm-production"}},"6.21.0":{"name":"@morpho-org/bull-board-nestjs","version":"6.21.0","keywords":["bull","bullmq","redis","queue","monitoring","nestjs","nestjs-module"],"author":{"name":"Dennis Snijder","email":"dennis@snijder.io"},"license":"MIT","_id":"@morpho-org/bull-board-nestjs@6.21.0","maintainers":[{"name":"gabin53","email":"gabin@morpho.xyz"},{"name":"julien-devatom","email":"julien.thomas84@gmail.com"},{"name":"mathisgd","email":"mathis@morpho.xyz"},{"name":"merlin-egalite","email":"merlin@morpho.xyz"},{"name":"rubilmax","email":"rmilon@gmail.com"},{"name":"hshively.morpho","email":"hayden@morpho.xyz"}],"homepage":"https://github.com/felixmosh/bull-board#readme","bugs":{"url":"https://github.com/felixmosh/bull-board/issues"},"dist":{"shasum":"c949641fe3ba48fdbd3d04d0b7d639552af08006","tarball":"https://registry.npmjs.org/@morpho-org/bull-board-nestjs/-/bull-board-nestjs-6.21.0.tgz","fileCount":27,"integrity":"sha512-kEToT/yrpyRb9BoeVIbGTbZomFodKbqNUBooIGDHhviqco0VbBLAzmhDWYEk+uk2vlozNDN63zJMJwUPGkYYRw==","signatures":[{"sig":"MEUCIQDC2nxcx+jhme9r8p3ifbUT4DRJX6s0i0qtCktXXLmqmAIgKVNqsM8oBeDXxkCjPWcSHcQplufBWfHfb6J33gSJlAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31765},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"yarn clean && tsc","clean":"rm -rf dist"},"_npmUser":{"name":"rubilmax","email":"rmilon@gmail.com"},"repository":{"url":"git+https://github.com/felixmosh/bull-board.git","type":"git","directory":"packages/nestjs"},"_npmVersion":"10.9.2","description":"A NestJS module for Bull-Board dashboard.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bull":"^4.16.5","rxjs":"^7.8.2","bullmq":"^5.67.3","typescript":"^5.9.3","@types/node":"18.19.130","@nestjs/core":"^11.1.13","@nestjs/bullmq":"^11.0.4","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","@bull-board/fastify":"^6.20.5","@nestjs/bull-shared":"^11.0.4","@morpho-org/bull-board-api":"^6.21.0","@morpho-org/bull-board-express":"^6.21.0"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","reflect-metadata":"^0.1.13 || ^0.2.0","@nestjs/bull-shared":"^10.0.0 || ^11.0.0","@morpho-org/bull-board-api":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/bull-board-nestjs_6.21.0_1773408153299_0.7637559366386288","host":"s3://npm-registry-packages-npm-production"}},"6.22.0":{"name":"@morpho-org/bull-board-nestjs","version":"6.22.0","keywords":["bull","bullmq","redis","queue","monitoring","nestjs","nestjs-module"],"author":{"name":"Dennis Snijder","email":"dennis@snijder.io"},"license":"MIT","_id":"@morpho-org/bull-board-nestjs@6.22.0","maintainers":[{"name":"gabin53","email":"gabin@morpho.xyz"},{"name":"julien-devatom","email":"julien.thomas84@gmail.com"},{"name":"mathisgd","email":"mathis@morpho.xyz"},{"name":"merlin-egalite","email":"merlin@morpho.xyz"},{"name":"rubilmax","email":"rmilon@gmail.com"},{"name":"hshively.morpho","email":"hayden@morpho.xyz"}],"homepage":"https://github.com/felixmosh/bull-board#readme","bugs":{"url":"https://github.com/felixmosh/bull-board/issues"},"dist":{"shasum":"df1c11b11ce856cd2e9a6faf91c9edfbf77ef0b5","tarball":"https://registry.npmjs.org/@morpho-org/bull-board-nestjs/-/bull-board-nestjs-6.22.0.tgz","fileCount":27,"integrity":"sha512-DQ/ydZ9d2UYzRpnxyVf1tYvRh3B338/M2hd25s/V8bFRxKr1icNN9+9YAhfDirIVrGytjiuh00/aPyIuS0G/gQ==","signatures":[{"sig":"MEUCIQCwJ7xrk98Q4C6E7sPcRbkjU65VfZPPO5qpi947L14UOwIgHX6Y22F5FwSxnGWrlXV/VNCsO562DeAOx6kxK+JkiLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31765},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"yarn clean && tsc","clean":"rm -rf dist"},"_npmUser":{"name":"rubilmax","email":"rmilon@gmail.com"},"repository":{"url":"git+https://github.com/felixmosh/bull-board.git","type":"git","directory":"packages/nestjs"},"_npmVersion":"10.9.2","description":"A NestJS module for Bull-Board dashboard.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bull":"^4.16.5","rxjs":"^7.8.2","bullmq":"^5.67.3","typescript":"^5.9.3","@types/node":"18.19.130","@nestjs/core":"^11.1.13","@nestjs/bullmq":"^11.0.4","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","@bull-board/fastify":"^6.20.5","@nestjs/bull-shared":"^11.0.4","@morpho-org/bull-board-api":"^6.21.0","@morpho-org/bull-board-express":"^6.21.0"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","reflect-metadata":"^0.1.13 || ^0.2.0","@nestjs/bull-shared":"^10.0.0 || ^11.0.0","@morpho-org/bull-board-api":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/bull-board-nestjs_6.22.0_1773413570928_0.09666223768740623","host":"s3://npm-registry-packages-npm-production"}},"6.22.1":{"name":"@morpho-org/bull-board-nestjs","version":"6.22.1","keywords":["bull","bullmq","redis","queue","monitoring","nestjs","nestjs-module"],"author":{"name":"Dennis Snijder","email":"dennis@snijder.io"},"license":"MIT","_id":"@morpho-org/bull-board-nestjs@6.22.1","maintainers":[{"name":"gabin53","email":"gabin@morpho.xyz"},{"name":"julien-devatom","email":"julien.thomas84@gmail.com"},{"name":"mathisgd","email":"mathis@morpho.xyz"},{"name":"merlin-egalite","email":"merlin@morpho.xyz"},{"name":"rubilmax","email":"rmilon@gmail.com"},{"name":"hshively.morpho","email":"hayden@morpho.xyz"}],"homepage":"https://github.com/felixmosh/bull-board#readme","bugs":{"url":"https://github.com/felixmosh/bull-board/issues"},"dist":{"shasum":"0b5fcde0aa9247e6ab265bfcf7e74e267aa260b0","tarball":"https://registry.npmjs.org/@morpho-org/bull-board-nestjs/-/bull-board-nestjs-6.22.1.tgz","fileCount":27,"integrity":"sha512-JVU95zYsmAZPmk7VzSulKaXMho+AtYprkKTY1yS0qbs0AwtviQKw2SnJxz+HN5MVPfVbaDKE37j3U9zQVnV2Og==","signatures":[{"sig":"MEQCICMzoUAbwWqUiohFkG6dWLkDC3URB06obADMHJYAaB09AiA+A3cNvkGvPhw8vJRr06L170x+uEpJL8MeavkKeEMWYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31765},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"yarn clean && tsc","clean":"rm -rf dist"},"_npmUser":{"name":"rubilmax","email":"rmilon@gmail.com"},"repository":{"url":"git+https://github.com/felixmosh/bull-board.git","type":"git","directory":"packages/nestjs"},"_npmVersion":"10.9.2","description":"A NestJS module for Bull-Board dashboard.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bull":"^4.16.5","rxjs":"^7.8.2","bullmq":"^5.67.3","typescript":"^5.9.3","@types/node":"18.19.130","@nestjs/core":"^11.1.13","@nestjs/bullmq":"^11.0.4","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","@bull-board/fastify":"^6.20.5","@nestjs/bull-shared":"^11.0.4","@morpho-org/bull-board-api":"^6.22.1","@morpho-org/bull-board-express":"^6.22.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","reflect-metadata":"^0.1.13 || ^0.2.0","@nestjs/bull-shared":"^10.0.0 || ^11.0.0","@morpho-org/bull-board-api":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/bull-board-nestjs_6.22.1_1773413885116_0.18578563761532063","host":"s3://npm-registry-packages-npm-production"}},"6.22.2":{"name":"@morpho-org/bull-board-nestjs","version":"6.22.2","keywords":["bull","bullmq","redis","queue","monitoring","nestjs","nestjs-module"],"author":{"name":"Dennis Snijder","email":"dennis@snijder.io"},"license":"MIT","_id":"@morpho-org/bull-board-nestjs@6.22.2","maintainers":[{"name":"gabin53","email":"gabin@morpho.xyz"},{"name":"julien-devatom","email":"julien.thomas84@gmail.com"},{"name":"mathisgd","email":"mathis@morpho.xyz"},{"name":"merlin-egalite","email":"merlin@morpho.xyz"},{"name":"rubilmax","email":"rmilon@gmail.com"},{"name":"hshively.morpho","email":"hayden@morpho.xyz"}],"homepage":"https://github.com/felixmosh/bull-board#readme","bugs":{"url":"https://github.com/felixmosh/bull-board/issues"},"dist":{"shasum":"cc606d93ea75f54e3e4829d272ede9a96e29723a","tarball":"https://registry.npmjs.org/@morpho-org/bull-board-nestjs/-/bull-board-nestjs-6.22.2.tgz","fileCount":27,"integrity":"sha512-xb+JnfVQqxOKa64t9dcsSBVAVpj1O3yw6hkYsxXaYaHbBPRNxi0DyQ5qWquEPUvzaObDCMYGEjYKW8Cjo0UTLQ==","signatures":[{"sig":"MEUCIAg16dj+7yqOV/QwbxiuvcgF0W+0YA+VvX02vyhByIoWAiEA/JRVBPyBttdBUdG8ue9KPW0+PpOYQxf2o1Tl+6YQD1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31765},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"yarn clean && tsc","clean":"rm -rf dist"},"_npmUser":{"name":"rubilmax","email":"rmilon@gmail.com"},"repository":{"url":"git+https://github.com/felixmosh/bull-board.git","type":"git","directory":"packages/nestjs"},"_npmVersion":"10.9.2","description":"A NestJS module for Bull-Board dashboard.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bull":"^4.16.5","rxjs":"^7.8.2","bullmq":"^5.67.3","typescript":"^5.9.3","@types/node":"18.19.130","@nestjs/core":"^11.1.13","@nestjs/bullmq":"^11.0.4","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","@bull-board/fastify":"^6.20.5","@nestjs/bull-shared":"^11.0.4","@morpho-org/bull-board-api":"^6.22.1","@morpho-org/bull-board-express":"^6.22.1"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","reflect-metadata":"^0.1.13 || ^0.2.0","@nestjs/bull-shared":"^10.0.0 || ^11.0.0","@morpho-org/bull-board-api":"^6.21.0"},"_npmOperationalInternal":{"tmp":"tmp/bull-board-nestjs_6.22.2_1773655327725_0.535788543715843","host":"s3://npm-registry-packages-npm-production"}},"6.23.0":{"name":"@morpho-org/bull-board-nestjs","version":"6.23.0","keywords":["bull","bullmq","redis","queue","monitoring","nestjs","nestjs-module"],"author":{"name":"Dennis Snijder","email":"dennis@snijder.io"},"license":"MIT","_id":"@morpho-org/bull-board-nestjs@6.23.0","maintainers":[{"name":"gabin53","email":"gabin@morpho.xyz"},{"name":"julien-devatom","email":"julien.thomas84@gmail.com"},{"name":"mathisgd","email":"mathis@morpho.xyz"},{"name":"merlin-egalite","email":"merlin@morpho.xyz"},{"name":"rubilmax","email":"rmilon@gmail.com"},{"name":"hshively.morpho","email":"hayden@morpho.xyz"}],"homepage":"https://github.com/felixmosh/bull-board#readme","bugs":{"url":"https://github.com/felixmosh/bull-board/issues"},"dist":{"shasum":"f999524d632a7b964797926e6c0440f3d3d53493","tarball":"https://registry.npmjs.org/@morpho-org/bull-board-nestjs/-/bull-board-nestjs-6.23.0.tgz","fileCount":27,"integrity":"sha512-Uq5a4rJcT/clAR2LtUo8XwWDxXpSBC+hMmfXhORA7Q56r76t/ut3YUu6u20hSePuz83YzbTcS9RXwNn5LeY/AA==","signatures":[{"sig":"MEUCIQDNk0GRLVOCjNMeoWIm7CHrHtCmm5wqUSVsfowzzXUuyAIgCqdVHhGLktCQRK2FVv6nGS9owC2OvzhJmxMxHmVBZMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31765},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"yarn clean && tsc","clean":"rm -rf dist"},"_npmUser":{"name":"rubilmax","email":"rmilon@gmail.com"},"repository":{"url":"git+https://github.com/felixmosh/bull-board.git","type":"git","directory":"packages/nestjs"},"_npmVersion":"10.9.2","description":"A NestJS module for Bull-Board dashboard.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bull":"^4.16.5","rxjs":"^7.8.2","bullmq":"^5.67.3","typescript":"^5.9.3","@types/node":"18.19.130","@nestjs/core":"^11.1.13","@nestjs/bullmq":"^11.0.4","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","@bull-board/fastify":"^6.20.5","@nestjs/bull-shared":"^11.0.4","@morpho-org/bull-board-api":"^6.23.0","@morpho-org/bull-board-express":"^6.23.0"},"peerDependencies":{"rxjs":"^7.8.1","@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","reflect-metadata":"^0.1.13 || ^0.2.0","@nestjs/bull-shared":"^10.0.0 || ^11.0.0","@morpho-org/bull-board-api":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/bull-board-nestjs_6.23.0_1773741461192_0.26407012047330447","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-07-30T07:55:27.484Z","modified":"2026-04-07T18:58:39.972Z","6.12.1":"2025-07-30T07:55:27.754Z","6.21.0":"2026-03-13T13:22:33.458Z","6.22.0":"2026-03-13T14:52:51.070Z","6.22.1":"2026-03-13T14:58:05.271Z","6.22.2":"2026-03-16T10:02:08.001Z","6.23.0":"2026-03-17T09:57:41.330Z"},"bugs":{"url":"https://github.com/felixmosh/bull-board/issues"},"author":{"name":"Dennis Snijder","email":"dennis@snijder.io"},"license":"MIT","homepage":"https://github.com/felixmosh/bull-board#readme","keywords":["bull","bullmq","redis","queue","monitoring","nestjs","nestjs-module"],"repository":{"url":"git+https://github.com/felixmosh/bull-board.git","type":"git","directory":"packages/nestjs"},"description":"A NestJS module for Bull-Board dashboard.","maintainers":[],"readme":"# <img alt=\"@bull-board\" src=\"https://raw.githubusercontent.com/felixmosh/bull-board/master/packages/ui/src/static/images/logo.svg\" width=\"35px\" /> @bull-board/nestjs\n\n[NestJS](https://nestjs.com/)  for `bull-board`.\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@bull-board/nestjs\">\n    <img alt=\"npm version\" src=\"https://img.shields.io/npm/v/@bull-board/nestjs\">\n  </a>\n  <a href=\"https://www.npmjs.com/package/bull-board\">\n    <img alt=\"npm downloads\" src=\"https://img.shields.io/npm/dw/bull-board\">\n  </a>\n  <a href=\"https://github.com/vcapretz/bull-board/blob/master/LICENSE\">\n    <img alt=\"licence\" src=\"https://img.shields.io/github/license/vcapretz/bull-board\">\n  </a>\n<p>\n\n![Overview](https://raw.githubusercontent.com/felixmosh/bull-board/master/screenshots/overview.png)\n![UI](https://raw.githubusercontent.com/felixmosh/bull-board/master/screenshots/dashboard.png)\n\n## Installation\n\nInstall both @bull-board/api and this module.\n```bash\n$ npm install --save @bull-board/nestjs @bull-board/api\n```\n\nInstall the Express or Fastify adapter depending on what you use in NestJS (default is Express)\n```bash\n$ npm install --save @bull-board/express\n//or \n$ npm install --save @bull-board/fastify\n```\n\n## Register the root module\nOnce the installation is completed, we can import the `BullBoardModule` into your rootmodule e.g. `AppModule`.\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { BullBoardModule } from \"@bull-board/nestjs\";\nimport { ExpressAdapter } from \"@bull-board/express\";\n\n@Module({\n  imports: [\n    BullModule.forRoot({\n      // your bull module config here.\n    }),\n\n    BullBoardModule.forRoot({\n      route: '/queues',\n      adapter: ExpressAdapter // Or FastifyAdapter from `@bull-board/fastify`\n    }),\n  ],\n})\nexport class AppModule {\n}\n```\n\nThe `forRoot()` method registers the bull-board instance and allows you to pass several options to both the instance and module.\nThe following options are available.\n- `route` the base route for the bull-board instance adapter.\n- `adapter` The routing adapter to be used, either the Express Adapter or Fastify Adapter provided by bull-board.\n- `boardOptions` options as provided by the bull-board package, such as `uiBasePath` and `uiConfig`\n- `middleware` optional middleware for the express adapter (e.g. basic authentication)\n\n\n### Express Authentication\n\nFor Express, install `express-basic-auth`:\n\n```bash\n$ npm install --save express-basic-auth\n```\n\nModify the `BullBoardModule.forRoot()` method:\n\n```typescript\nimport basicAuth from \"express-basic-auth\";\n\nBullBoardModule.forRoot({\n  route: \"/queues\",\n  adapter: ExpressAdapter,\n  middleware: basicAuth({\n    challenge: true,\n    users: { admin: \"passwordhere\" },\n  }),\n}),\n```\n\n### Fastify Authentication\n\nFor Fastify, you can use `fastify-basic-auth`:\n\n```bash\n$ npm install --save fastify-basic-auth\n```\n\nThen apply it using middleware:\n\n```typescript\nimport fastifyBasicAuth from \"fastify-basic-auth\";\n\nBullBoardModule.forRoot({\n  route: \"/queues\",\n  adapter: FastifyAdapter,\n  middleware: (req, res, next) => {\n    fastifyBasicAuth({\n      validate: async (username, password, req, reply) => {\n        if (username === \"admin\" && password === \"passwordhere\") {\n          return;\n        }\n        throw new Error(\"Unauthorized\");\n      },\n    })(req, res, next);\n  },\n}),\n```\n\n\n## Register your queues\nTo register a new queue, you need to register `BullBoardModule.forFeature` in the same module as where your queues are registered.\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { BullBoardModule } from \"@bull-board/nestjs\";\nimport { BullMQAdapter } from \"@bull-board/api/bullMQAdapter\";\nimport { BullModule } from \"@nestjs/bullmq\";\n\n@Module({\n  imports: [\n    BullModule.registerQueue(\n      {\n        name: 'my_awesome_queue'\n      }\n    ),\n    \n    BullBoardModule.forFeature({\n      name: 'my_awesome_queue',\n      adapter: BullMQAdapter, //or use BullAdapter if you're using bull instead of bullMQ\n    }),\n  ],\n})\nexport class FeatureModule {}\n```\n\nThe `forFeature` method registers the given queues to the bull-board instance.\nThe following options are available.\n- `name` the queue name to register\n- `adapter` either `BullAdapter` or `BullMQAdapter` depending on which package you use.\n- `options` queue adapter options as found in the bull-board package, such as `readOnlyMode`, `description` etc.\n\n##  Using the bull-board instance in your controllers and/or services.\nThe created bull-board instance is available via the `@InjectBullBoard()` decorator.\nFor example in a controller:\n\n```typescript\nimport { Controller, Get } from \"@nestjs/common\";\nimport { BullBoardInstance, InjectBullBoard } from \"@bull-board/nestjs\";\n\n@Controller('my-feature')\nexport class FeatureController {\n\n  constructor(\n    @InjectBullBoard() private readonly boardInstance: BullBoardInstance\n  ) {\n  }\n  \n  //controller methods\n}\n```\n\n# Usage examples\n1. [Simple NestJS setup](https://github.com/felixmosh/bull-board/tree/master/examples/with-nestjs)\n\nFor more info visit the main [README](https://github.com/felixmosh/bull-board#readme)\n","readmeFilename":"README.md"}