A backend in
a single bun.
cinnabun is one executable holding a realtime database, auth, files, cron, webhooks, feature flags and an admin console. No runtime dependencies. Run it on your own machine, or on Cinnabun Cloud.
Everything a backend needs, baked into one file
TypeScript end to end, and small enough to run on a Raspberry Pi.
Realtime database
Collections with access rules, and live updates to every client that may read a row.
Auth
Accounts, sessions and sign-in, with no separate service to run.
Files
Uploads stored beside the data they belong to.
Cron
Scheduled jobs, one file each, in the same process.
Webhooks
Tell other systems when a record changes.
Feature flags
Turn a feature on for some people before everyone.
Admin console
Browse the data, change the rules and the settings, at /_/.
Run it, then let yourself in
One binary each for Linux (x64 and arm64) and macOS on Apple silicon. It listens on port 4210, keeps its SQLite database in ./data, and serves its console at /_/.
NODE_ENV=development BETTER_AUTH_SECRET=$(openssl rand -base64 32) ./cinnabunSigning up does not open the console. Name who may, with ADMIN_EMAILS, and restart. On a real host, drop NODE_ENV and set BETTER_AUTH_URL to its https address.
Releases are not public yet. Until they are, Cinnabun Cloud runs it for you.
Run it on Cinnabun Cloud
Each instance gets its own address, starts on its first request and sleeps when nobody is asking. Plan the work beside it: a deploy that says fixes WEB-42 closes WEB-42.