Eject — Export and Self-Host
BullRun has no lock-in. If you want to run your own Redis, one command exports everything you need. Your code does not change.
What eject does
The bullrun eject command exports your full project configuration so you can run the same setup on your own infrastructure:
- Queue definitions and settings
- Cron schedules and recurring jobs
- Alert rules and notification channels
- Team members and permissions
- Optional Redis snapshot (RDB dump) of current queue state
CLI command
bullrun eject --project proj_id
What it generates
| File | Purpose |
|---|---|
docker-compose.yml | Redis + worker containers, ready to docker compose up |
bullrun.config.ts | Updated config pointing to your local Redis instead of BullRun |
MIGRATION.md | Step-by-step instructions for completing the migration |
Keep Monitor mode (optional)
After ejecting, you can choose to keep Monitor mode active. This means your Redis runs on your infrastructure, but the BullRun dashboard stays connected for visibility and alerting. To fully disconnect, remove the connector and delete the project.
Your code does not change
The BullRun SDK uses standard BullMQ under the hood. When you eject, your task definitions, queue names, and handler code stay exactly the same. The only difference is where Redis lives — and that is a config change, not a code change.
Want to connect your own Redis without leaving BullRun? Set up Monitor mode.