Open source
Open source, and yours to run
The framework is Apache-2.0 and published on npm as seven packages. Build your app into one folder and run it where you like: with the protobase command, a single runtime file or a Docker image.
Early accessSign up with GitHub or email. Your first app is live in a few minutes. Plans from €0.99 a month.
Or self-host it for freeStart
Start from the database you already have
The CLI reads your database in a read-only session and writes the description for you. Nothing in your database changes.
# Install the CLI and the packages your config imports
npm install @protobase/cli @protobase/schema \
@protobase/layout @protobase/server @protobase/ui
# Describe your tables, read in a read-only session
npx protobase scaffold postgres://you@localhost:5432/shop --ui
# Check every resource against the database
npx protobase doctor postgres://you@localhost:5432/shopPackages
Seven packages under @protobase
Protobase’s packages are only the scoped ones. The unscoped protobase package on npm belongs to another project.
- @protobase/schema
- Resource, field, view and access definitions for Protobase configs.
- @protobase/layout
- Composed pages, written as JSX that compiles to plain data, with its JSX runtime.
- @protobase/query
- Kysely list, filter, count and aggregate queries over Protobase resources.
- @protobase/server
- The Protobase REST API as a Hono app, with Better Auth sign-in.
- @protobase/client
- Typed fetch client for the Protobase REST API.
- @protobase/ui
- The Protobase admin app and the React hooks and components for custom UI.
- @protobase/cli
- The protobase command: scaffold, doctor, dev, build and serve a Protobase project.
Build
Build once, into one folder
protobase buildwrites one folder: the config module, the admin app with your UI as plugins and your theme, and a manifest.- The build needs no secrets and no database, so it can run anywhere your code does.
- Native add-ons come along with Linux binaries for x64 and arm64.
- Your web host serves the admin app itself and sends only
/apito the runtime, so loading the UI never needs a running container.
Run
Three ways to run it
protobase serve
Serves a bundle’s API, on port 8787 by default.
protobase workerruns jobs on their own.One runtime file
protobase-serve.js, about 3 MB. A host needs Bun and this file, nothing else.The Docker image
ghcr.io/prototeamhq/protobasefor amd64 and arm64. It runs as a non-root user and writes nothing, so the root filesystem can be read-only, with a health check at/health.
Operations
Your migrations, your users
Start from a preset if you like: the ERP, the real estate app or an empty project. They are written from a clone of the repository, and the protobase-dev image ships them with their dependencies, ready to work offline.
protobase migrationwrites the SQL for sign-in, jobs, events and webhooks as your own migration files, and your project applies them with its own migrate command.- The runtime refuses to start while the database schema is behind.
- There is no setup page on the web. Create the first admin with
protobase users create [email protected] --generate-password. - List users, change roles, disable or delete them, manage organizations, and print a token for any user, all from the command line.
Releases
How it is made
- Every fix and feature pushed to the main branch is released automatically, from Conventional Commits.
- Each release passes type checks, unit, PGlite, integration and end-to-end tests, a Node smoke test, a docs build with link checks, Storybook play tests and a browser check of every docs page.
- Packages ship to npm with provenance, all seven at one version; images ship to GitHub’s container registry for amd64 and arm64.
- Before 1.0 a minor version may change the config format, and the plugin API stays stable.
Built with
- TypeScript
- Node 22.12+ or Bun
- Hono
- Kysely
- Better Auth
- Zod
- pg-boss
- React Email
- React 19
- Tailwind CSS 4
- TanStack Query and Table
- MapLibre GL
- Vite
Start with the database you have
Install the CLI, describe your tables and run the admin on your own machine. Protobase never migrates your database by itself.
Your back office, live in a few minutes
Sign up with GitHub or email, pick a starting point, and ask the assistant for what you need.
Start in the cloudEarly access Plans from €0.99 a month.