cookbook / redis-bullmq
Redis + BullMQ dashboard
Redis for BullMQ queues, plus a Bull Board UI to inspect jobs. Point your workers at REDIS_URL; the dashboard discovers the queues itself.
- queue
- cache
- stack
Run it
briq_run({
recipe: "redis-bullmq",
params: {
"queues": [
"default"
],
"size": "nano"
},
wait: true
})briq run redis-bullmq
briq ls
briq logs -f <id>
briq rm <id>import { Briq } from '@briq/sdk';
const briq = new Briq(process.env.BRIQ_API_KEY);
const redis-bullmq = await briq.run({
recipe: 'redis-bullmq',
params: {
"queues": [
"default"
],
"size": "nano"
},
});
console.log(redis-bullmq.outputs.REDIS_URL);
// ... when done
await briq.destroy(redis-bullmq.id);Parameters
| Name | Type | Options | Default |
|---|---|---|---|
| queues | string[] | — | ["default"] |
| size | enum | nano, small, medium | "nano" |
Outputs
Returned by briq_run once the stack is healthy. Hosts resolve inside your team network; secrets are generated per run.
- REDIS_URL
- redis://redis.<stack>.internal:6379
- BULL_BOARD_URL
- http://bullboard.<stack>.internal:3000
- QUEUES
- default
What it runs
| Briq | Image | Ports | Size | Volume |
|---|---|---|---|---|
| redis | redis:7-alpine | 6379 | nano | — |
| bullboard | ghcr.io/felixmosh/bull-board:9.10.1 | 3000 | nano | — |
When to use it
- Your app runs BullMQ (or Bull) workers and you want the queues and a way to look at them.
- The agent is implementing or debugging a job pipeline and needs to see waiting, active, failed and completed jobs while it works.
The stack is two briqs: redis holds the queues, bullboard runs Bull Board pointed at it. Workers connect to REDIS_URL; the dashboard finds the queues by itself and lists them as they appear.
Tips
- Queues appear on their own. The board watches the prefix and picks up a queue the first time your worker touches it, so an empty board means nothing has been enqueued yet.
queuesis echoed back in the outputs as a note to yourself about what to name them. - Show the board to a human.
briq_exposethebullboardbriq on port 3000 withmode: "token". - Inspect from the agent without the UI:
briq_execon theredisbriq withredis-cli keys "bull:emails:*"orredis-cli llen bull:emails:wait. - Redis has no volume in this stack; queues are for the session. Stop and start keeps memory only while the microVM is suspended, not after a destroy.
- The prefix is
bull, BullMQ's default. If your code sets another one, run the image directly withbriq_run({ image: … })and setBULL_BOARD_REDIS_URLplus the prefix flag yourself. - The dashboard waits. If Redis is slow to come up, Bull Board serves a diagnostic page and retries rather than exiting, so
bullboardstaysrunningwhile it reconnects.