Skip to content

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 /_/.

Take a bite

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) ./cinnabun

Signing 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.

See Cinnabun Cloud