ByteBulletin

[launches] · · 2 min read

tinbase: A Docker-free, Single-Process Supabase for Local Dev — Now in the Browser

The open-source tinbase project replaces the 12-container Supabase stack with one 58 MB process, running real Postgres and the official supabase-js SDK everywhere from your laptop to a browser tab.

By ByteBulletin Editors · Editorial Team


For all the convenience of Supabase's hosted platform, its local development experience has always been heavy: spin up the CLI and you get a 12-container Docker stack that pulls gigabytes of images and chews through memory. tinbase is a new open-source project that aims to make that local setup a thing of the past by cramming the entire Supabase-compatible backend into a single, small executable—and it can even run entirely in your browser with no server of any kind.

At its core, tinbase is a drop-in replacement for the Supabase local API surface. It implements the PostgREST query grammar, GoTrue authentication flows, the Storage API, and the Realtime Phoenix protocol, all verified against the official supabase-js SDK. That means you can point your existing Supabase client at a tinbase instance and your app runs unchanged. The key differentiator from other lightweight backends like PocketBase is that tinbase speaks the exact wire protocol of Supabase, so it is a true drop-in rather than a lookalike requiring SDK changes.

Under the hood, tinbase is a single native binary (~58 MB, no Node or Docker required) that runs an embedded Postgres 17 database (consuming about 59 MB of RAM), or you can opt for PGlite, a WASM-compiled Postgres that runs fully in the browser. Every service—REST, Auth, Storage, Realtime—is implemented as a pure fetch handler, which is what enables the in-process browser mode. You can even hand the fetch handler to supabase-js as a custom fetch and run the whole backend inside a web page.

Despite its size, tinbase aims for feature parity with hosted Supabase for development purposes. It supports Row Level Security exactly as you'd expect, with JWT claims applied to every request so auth.uid() policies work out of the box. You can use supabase/functions/ for edge functions, supabase/migrations/ for SQL migrations (including a CLI command tinbase gen types typescript for typed clients), and even run database webhooks and cron jobs—all without installing additional Postgres extensions.

A built-in Studio dashboard, similar to Supabase Studio, is served at /_/ and includes a table editor, SQL query tool, auth management, and live logs, all in the same process. This makes tinbase a compelling option not just for local development but also for demos, offline-first applications, and even mobile environments where running Docker is not feasible.

The project is open source and available on GitHub. If you've been looking for a way to cut the bloat from your Supabase dev workflow, or you want a fully portable version of your backend that can run anywhere, tinbase is worth a spin.

SHARE

← All stories