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

FilePurpose
docker-compose.ymlRedis + worker containers, ready to docker compose up
bullrun.config.tsUpdated config pointing to your local Redis instead of BullRun
MIGRATION.mdStep-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.