Self-hosting OpenBKA
OpenBKA runs on Cloudflare: there are no servers to patch and no database open to the internet, and most associations fit within Cloudflare’s free tier.
What you need
Section titled “What you need”- A free Cloudflare account
- Node.js 24
- A copy of the OpenBKA code
- A client ID and secret for your copy, issued when it is registered with Open Beekeeping accounts
Settings
Section titled “Settings”| Setting | Value |
|---|---|
ORIGIN |
Your copy’s public address, e.g. https://bka.example.org |
OIDC_ISSUER |
Defaults to https://accounts.openbeekeeping.org |
OIDC_CLIENT_ID |
Issued when your copy is registered |
OIDC_CLIENT_SECRET |
Issued with the client ID |
Deploy
Section titled “Deploy”npx wrangler loginnpm run setup # once: create the database in the EU jurisdictionnpx wrangler secret put ORIGINnpx wrangler secret put OIDC_CLIENT_IDnpx wrangler secret put OIDC_CLIENT_SECRETnpm run deploy # deploy, creating file storage (EU) on the first runnpm run db:migrate # bring the database up to dateKeeping data in the EU
Section titled “Keeping data in the EU”Member data is stored in Cloudflare’s EU jurisdiction. To use another jurisdiction, change jurisdiction in wrangler.jsonc and the setup script before your first deploy.