buzzkit-dev/buzzkit
The repository, and the current setup instructions in its README.
What it runs on
What you need to bring
- A Cloudflare account for the two Workers, plus KV, Queues, Durable Objects and Hyperdrive.
- A PostgreSQL database.
- A Tinybird workspace for the event stream. A free workspace is enough to start.
- Provider credentials for the channels you use, such as an Apple Developer key or a Firebase service account. These are uploaded through the dashboard, never configured as environment variables.
Cloudflare Queues are not created for you on deploy. The repository’s instructions list the queues to create by name before the first deployment.
Where configuration lives
Non-secret values live in each app’swrangler.jsonc under vars and are overridden per environment at deploy time. Secrets live in .dev.vars locally, copied from .dev.vars.example and git-ignored, and in wrangler secret put once deployed. The full table of every variable, secret and binding, with a column saying whether a self-hoster actually needs it, is docs/configuration.md in the repository.
Three of them are worth knowing about before you start, because they are not the kind of value you change later:
CREDENTIAL_MASTER_KEY_V1wraps every provider credential you upload. Rotation is additive: you add the next version, deploy, wait for the sweep to re-wrap, then drop the old one. Losing every version that still wraps a row means re-uploading that credential.SQIDS_ALPHABETderives your public ids. Generate one per deployment and never change it.BETTER_AUTH_SECRETsigns sessions. Rotating it signs everyone out.
Licensing
The core is AGPL-3.0: the API, the dashboard, the marketing site and the internal packages. The SDKs your customers embed are MIT, both thebuzzkit server package and the iOS SDK, so shipping them inside a closed-source application carries no copyleft obligation.
Next
Quickstart
Connect a channel, create keys and send, against your own deployment.
Authentication
Keys and scopes, identical whether hosted or self-hosted.
Tenants
The isolation boundary, the tenant header and per-tenant settings.
Webhooks
Endpoints, signing, the retry schedule and replays.