A lightweight backend,
in one YAML file.
Define your schema in one YAML file and get a full Postgres-backed API with auth, RLS, functions, and storage. Self-host it as a single binary, point your existing supabase-js code at it, and you are running in minutes.
Write YAML. Ship a backend system.
One file holds your schema and its RLS policies. instancez handles the migration and serves the API.
tables: posts: fields: - name: id type: bigserial primary_key: true - name: title type: text required: true - name: user_id type: uuid foreign_key: references: auth.users.id rls: - operations: [select] using: "true" - operations: [insert] with_check: "auth.uid() = user_id" - operations: [update] using: "auth.uid() = user_id" with_check: "auth.uid() = user_id" - operations: [delete] using: "auth.uid() = user_id"
// @supabase/supabase-js, unchanged const supabase = createClient( 'http://localhost:8080', 'your-anon-key' ) // query const data = await supabase .from('posts') .select('id, title') .order('id', ascending: false ) // insert: RLS checks user_id for you const data = await supabase .from('posts') .insert( title: 'Hello world' ) .select() .single()
Everything you need. Nothing extra.
Wire-compatible with @supabase/supabase-js. Drop it in. Your client code stays the same.
YAML-driven schema
Declare tables, fields, types, and RLS policies in instancez.yaml. In dev mode, saving the file applies migrations for you.
Auth that works
Password, magic link, OTP, OAuth (Google, GitHub), anonymous sign-in, and TOTP MFA, all wired straight into Postgres RLS.
PostgREST-compatible
Filtering, embeds, aggregates, pagination, and RPC. The same query surface your supabase-js code already speaks.
Code functions
JavaScript ESM handlers at /functions/v1/<name>. Each one gets ctx.supabase, secrets, and structured logging.
Storage
Upload and download with local or S3 backends. Bucket policies run through RLS, the same model as your tables.
Deploy anywhere
One binary. Docker, AWS Lambda, or bare metal: one command to run, one YAML file to configure.
Ready to build?
One command to install. One YAML file to start.