Modern queue management for BullMQ. Built for developers.
4.2K
A lightweight, beautiful queue management dashboard for Bull and BullMQ.
Monitor your queues, inspect jobs, visualize flows, and manage your Redis-backed job infrastructure.
npx bullstudio -r <redis_url>
That's it! The dashboard opens automatically at http://localhost:4000. No code integration needed. Bullstudio automatically detects your provider (Bull or BullMq).
npx bullstudio
npm install -g bullstudio
bullstudio
docker run -d \
-p 4000:4000 \
-e REDIS_URL=redis://host.docker.internal:6379 \
emirce/bullstudio
The dashboard is available at http://localhost:4000.
# Local Redis (Docker for Mac/Windows)
docker run -d -p 4000:4000 -e REDIS_URL=redis://host.docker.internal:6379 emirce/bullstudio
# Remote Redis
docker run -d -p 4000:4000 -e REDIS_URL=redis://myhost.com:6379 emirce/bullstudio
# Redis with authentication
docker run -d -p 4000:4000 -e REDIS_URL=redis://:[email protected]:6379 emirce/bullstudio
docker run -d -p 8080:8080 -e PORT=8080 -e REDIS_URL=redis://host.docker.internal:6379 emirce/bullstudio
docker run -d \
-p 4000:4000 \
-e REDIS_URL=redis://host.docker.internal:6379 \
-e BULLSTUDIO_PASSWORD=secret123 \
emirce/bullstudio
services:
bullstudio:
image: emirce/bullstudio
ports:
- "4000:4000"
environment:
- REDIS_URL=redis://redis:6379
depends_on:
- redis
redis:
image: redis:7-alpine
ports:
- "6379:6379"
docker compose up -d
| Variable | Description | Default |
|---|---|---|
REDIS_URL | Redis connection URL | redis://localhost:6379 |
PORT | Port to run the dashboard on | 4000 |
BULLSTUDIO_USERNAME | Password for HTTP Basic Auth (production) | bullstudio |
BULLSTUDIO_PASSWORD | Password for HTTP Basic Auth (production) | (none) |
| Tag | Description |
|---|---|
latest | Latest build from the main branch |
x.y.z | Specific release version (e.g., 0.1.4) |
x.y | Minor version (e.g., 0.1) |
x | Major version (e.g., 0) |
linux/amd64linux/arm64bullstudio [options]
| Option | Short | Description | Default |
|---|---|---|---|
--redis <url> | -r | Redis connection URL | redis://localhost:6379 |
--port <port> | -p | Port to run the dashboard on | 4000 |
--username <user> | Username for HTTP Basic Auth (production only) | bullstudio | |
--password <pass> | Password for HTTP Basic Auth (production only) | (none) | |
--no-open | Don't open browser automatically | Opens browser | |
--help | -h | Show help message |
bullstudio
bullstudio -r redis://myhost.com:6379
bullstudio -r redis://:[email protected]:6379
bullstudio -p 5000
bullstudio -r redis://username:[email protected]:6379
bullstudio --no-open
bullstudio -r redis://:[email protected]:6379 -p 8080 --no-open
bullstudio --password secret123
The browser will prompt for credentials:
bullstudiosecret123You can protect the dashboard with HTTP Basic Auth in production mode only. Development mode (--dev) does not require authentication.
# Using CLI flag
bullstudio --password secret123
## Custom username
bullstudio --username bullstudio_admin --password secret123
# Using environment variable
BULLSTUDIO_PASSWORD=secret123 bullstudio
# Docker with authentication
docker run -e BULLSTUDIO_PASSWORD=secret123 -p 4000:4000 emirce/bullstudio
bullstudio (fixed, cannot be changed)--password flag or BULLSTUDIO_PASSWORD environment variable--dev) bypasses authenticationThe /health endpoint is publicly accessible without authentication:
curl http://localhost:4000/health
# {"status":"ok","timestamp":"2026-02-08T21:58:47.508Z","redis":"configured"}
Get a bird's-eye view of your queue health with real-time metrics, throughput charts, and failure tracking.
You can also configure bullstudio using environment variables:
export REDIS_URL=redis://localhost:6379
export PORT=4000
export BULLSTUDIO_USERNAME=bullstudio
export BULLSTUDIO_PASSWORD=secret123
bullstudio
| Variable | Description | Default |
|---|---|---|
REDIS_URL | Redis connection URL | redis://localhost:6379 |
PORT | Port to run the dashboard on | 4000 |
BULLSTUDIO_USERNAME | Username for HTTP Basic Auth (production only) | bullstudio |
BULLSTUDIO_PASSWORD | Password for HTTP Basic Auth (production only) | (none) |
Command-line options take precedence over environment variables.
Make sure Redis is running:
# Check if Redis is running
redis-cli ping
# Start Redis (macOS with Homebrew)
brew services start redis
# Start Redis (Docker)
docker run -d -p 6379:6379 redis
bullstudio discovers queues by scanning for BullMQ metadata keys in Redis. Make sure:
bull, your queues use the default prefixUse a different port:
bullstudio -p 5000
MIT
Made with love for the BullMQ community
Content type
Image
Digest
sha256:dfdbc6ecb…
Size
392.3 MB
Last updated
1 day ago
docker pull emirce/bullstudio