{"id":45657197,"url":"https://github.com/durabullhq/durabull","last_synced_at":"2026-06-12T05:01:08.851Z","repository":{"id":340288281,"uuid":"1165362569","full_name":"durabullhq/durabull","owner":"durabullhq","description":"Durabull gives your team one clean command surface to inspect queues, recover failed jobs, and keep distributed workers healthy without digging through Redis internals.","archived":false,"fork":false,"pushed_at":"2026-06-01T19:08:57.000Z","size":9498,"stargazers_count":29,"open_issues_count":7,"forks_count":12,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T19:29:55.728Z","etag":null,"topics":["bullmq","observability","queue","redis"],"latest_commit_sha":null,"homepage":"https://durabull.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/durabullhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-24T04:52:26.000Z","updated_at":"2026-06-01T18:33:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/durabullhq/durabull","commit_stats":null,"previous_names":["durabullhq/durabull"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/durabullhq/durabull","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durabullhq%2Fdurabull","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durabullhq%2Fdurabull/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durabullhq%2Fdurabull/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durabullhq%2Fdurabull/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/durabullhq","download_url":"https://codeload.github.com/durabullhq/durabull/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durabullhq%2Fdurabull/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34229624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bullmq","observability","queue","redis"],"created_at":"2026-02-24T08:50:10.297Z","updated_at":"2026-06-12T05:01:08.811Z","avatar_url":"https://github.com/durabullhq.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg\n    src=\".github/assets/hero.png\"\n    alt=\"Durabull dashboard hero\"\n    width=\"100%\"\n    style=\"border-radius: 16px;\"\n  /\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eDurabull\u003c/h1\u003e\n  \u003cp\u003e\u003cstrong\u003eThe modern dashboard for BullMQ.\u003c/strong\u003e\u003c/p\u003e\n  \u003cp\u003eMonitor queues, inspect jobs, debug failures, and operate workers across Redis environments.\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://durabull.io/documentation\"\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/a\u003e\n    \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://durabull.io\"\u003e\u003cstrong\u003eHosted Product\u003c/strong\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## Project\n\nDurabull is an open-source BullMQ operations platform built for teams that need visibility and control over background jobs.\n\n- Queue and job visibility across multiple Redis connections\n- Worker and scheduler diagnostics\n- Redis key exploration tailored for BullMQ patterns\n- Local-first development with Bun + TypeScript in a monorepo\n\n## Run locally\n\n### Prerequisites\n\n- Bun `1.3+`\n- Node.js `20.19+` or `22.12+` for the Vite web app\n- Redis (local or remote)\n\n### Fastest path (authless)\n\n```bash\nbun install\nbun run dev:authless\n```\n\nOpen:\n\n- Web: `http://localhost:5173`\n- API: `http://localhost:3001/api`\n\n\u003e `dev:authless` is for local/private environments. Do not expose authless mode directly to the public internet.\n\n### Full local stack (Postgres + Redis + seeded data)\n\n```bash\nbun docker\nbun docker:seed\nbun run dev\n```\n\nOptional demo traffic generator:\n\n```bash\nbun run workload:dev\n```\n\nIf you want API + web + workload in one terminal, use:\n\n```bash\nbun run dev:demo\n```\n\n## Helpful links\n\n- Docs home: [`https://durabull.io/documentation`](https://durabull.io/documentation)\n- Local development: [`/documentation/getting-started/local-development`](https://durabull.io/documentation/getting-started/local-development)\n- Installation: [`/documentation/self-hosting/installation`](https://durabull.io/documentation/self-hosting/installation)\n- Environment variables: [`/documentation/getting-started/environment-variables`](https://durabull.io/documentation/getting-started/environment-variables)\n- HTTP API reference: [`/documentation/reference/http-api`](https://durabull.io/documentation/reference/http-api)\n\n## Anonymous usage telemetry\n\nProduction and self-hosted Durabull collects anonymous/pseudonymous usage telemetry to understand\nfeature usage and improve the product. Configuring `POSTHOG_KEY` for your own PostHog project does\nnot disable Durabull telemetry, and Durabull does not provide a product-level telemetry opt-out.\nWhen `POSTHOG_KEY` is set, the configured PostHog project still receives the full PostHog browser\nanalytics stream.\n\nDurabull does not collect Redis URLs, queue names, Redis key names, job data, logs, emails, names,\norganizations, hostnames, raw URLs, search patterns, stack traces, or raw error messages.\n\n## Useful repo guides\n\n- Desktop build and release guide: [`apps/desktop/README.md`](apps/desktop/README.md)\n- Authentication package: [`packages/auth/README.md`](packages/auth/README.md)\n- Fleet demo workload: [`packages/fleet-demo-workload/README.md`](packages/fleet-demo-workload/README.md)\n- Example environment config: [`.env.example`](.env.example)\n\n## Monorepo at a glance\n\n- `apps/api` - Bun + Hono API\n- `apps/web` - React dashboard app\n- `apps/docs` - Next.js documentation site\n- `packages/*` - shared auth, DAL, analytics, utilities, and demo workload packages\n\n## License\n\nElastic License 2.0 (ELv2). See [`LICENSE`](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdurabullhq%2Fdurabull","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdurabullhq%2Fdurabull","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdurabullhq%2Fdurabull/lists"}