Show HN: Instancez – Open-Source Declarative Single-Binary Supabase Alternative Instancez has released an open-source, single-binary Supabase alternative that uses a declarative YAML schema to define databases, authentication, storage, and functions, enabling self-hosting in seconds. The tool is compatible with existing Supabase clients and supports automatic schema migration, LLM-friendly configuration, and deployment anywhere including locally, Docker, or AWS Lambda. An LLM-friendly, single-binary, drop-in replacement to Supabase. Defined in one YAML file — self-hosted in seconds. One YAML file is the schema. Edit instancez.yaml and instancez diffs it against the live database, applying just the delta migration including drops — no migration files to write or run by hand. Compatible with Supabase clients @supabase/supabase-js , and others . Point your existing client at instancez and it works: auth, PostgREST-style REST, RPC, storage. Runs anywhere. One self-contained, portable binary — locally, in Docker, on a VM, or on AWS Lambda. LLM-friendly. A simple, easy-to-understand YAML schema — tables, RLS, storage, RPC, functions — one file an LLM or teammate can read end to end. instancez.yaml and inz dev booting, then a live supabase-js app: anonymous sign-in, then insert / update / delete. The built-in dashboard at /dashboard. Under inz dev, schema edits write back to instancez.yaml as a diff you review before it applies. macOS / Linux curl -fsSL https://get.instancez.ai | sh Windows PowerShell : irm https://get.instancez.ai/windows | iex Or build from source. This needs Go 1.25+ and Node 22+. The dashboard is embedded into the binary, so build it before the Go install: git clone https://github.com/instancez/instancez.git cd instancez cd dashboard && npm ci && npm run build && go install ./cmd/inz mkdir my-app && cd my-app inz init inz dev --embedded-pg no Postgres to install; or drop the flag and set INSTANCEZ DATABASE URL to use your own you can run the following command or watch the output of the previous command for your secret key and publishable key cat .development.env in a separate terminal — publishable + secret keys, generated on first run inz dev provisions the Postgres roles, applies the schema, and serves the API at http://localhost:8080 . Editing instancez.yaml re-applies the schema automatically. Here's the whole app inz init scaffolds instancez.yaml , comments trimmed : version: 1 project: name: "my-app" providers: storage: type: local auth: jwt expiry: 15m refresh tokens: true refresh token expiry: 7d email: verify email: false tables: todos: fields: - name: id type: bigserial primary key: true - name: user id foreign key: references: auth.users.id on delete: cascade - name: title type: text required: true - name: status type: text required: true enum: pending, active, done default: pending - name: created at type: timestamptz required: true default: now rls: - operations: select, insert, update, delete using: "user id = auth.uid " with check: "user id = auth.uid " storage: avatars: public: true max size: 5MB types: image/ rls: - operations: insert with check: "auth.is authenticated " - operations: update using: "auth.is authenticated " with check: "auth.is authenticated " - operations: delete using: "auth.is authenticated " functions: todos: runtime: node file: functions/todos.js auth required: true Query it with supabase-js : js import { createClient } from '@supabase/supabase-js' const supabase = createClient 'http://localhost:8080', process.env.INSTANCEZ PUBLISHABLE KEY const { data, error } = await supabase .from 'todos' .select ' ' Or with curl : curl 'http://localhost:8080/rest/v1/todos?select= ' \ -H "apikey: $INSTANCEZ PUBLISHABLE KEY" The scaffolded todos table has a user id = auth.uid RLS policy, so rows are scoped to the signed-in user. To read without signing in while you experiment, set using: "true" on the policy in instancez.yaml . The repo ships an agent skill /instancez/instancez/blob/main/skills/instancez/SKILL.md that teaches your coding agent the YAML syntax, RLS patterns, and the inz CLI. Install it into your project with the skills CLI https://github.com/vercel-labs/skills , which supports Claude Code, Codex, Cursor, OpenCode, Gemini CLI, Copilot, and more: npx skills add instancez/instancez auto-detects your agents npx skills add instancez/instancez -a codex or target one explicitly Claude Code users can install it as a plugin instead: /plugin marketplace add instancez/instancez /plugin install instancez@instancez For any other agent, the skill is a single Markdown file: drop SKILL.md /instancez/instancez/blob/main/skills/instancez/SKILL.md into your project and reference it from AGENTS.md . Details in the Coding Agents docs https://instancez.github.io/coding-agents/ . Self-host it yourself: inz serve Secrets load automatically from .production.env if present, alongside the regular process environment. Or deploy to instancez Cloud: inz cloud deploy push instancez.yaml straight to a managed project Self-hosting also runs on Docker https://instancez.github.io/deploy/docker/ , Kubernetes https://instancez.github.io/deploy/kubernetes/ , AWS Lambda https://instancez.github.io/deploy/lambda/ , or a bare VM https://instancez.github.io/deploy/self-hosted/ . More on deployment → https://instancez.github.io/deploy/docker/ | instancez | Supabase | | |---|---|---| | Auth password, magic link, OTP, anonymous, OAuth, TOTP MFA | Yes no phone/SMS | Yes | | PostgREST-style REST API | Yes | Yes | | SQL functions RPC | Yes | Yes | | JavaScript functions | Yes Node.js | Yes Deno | | Storage local or S3, RLS, signed URLs, image resize | Yes JPEG/PNG only, no WebP/AVIF | Yes | | Row-Level Security RLS | Yes | Yes | | Realtime / websockets | Not supported yet | Yes | | Schema definition | One declarative YAML file | SQL migrations + dashboard | | Self-host footprint | One binary + Postgres | Multi-container stack | | OAuth providers built in | Google, GitHub | Many | docs/examples/gearstore /instancez/instancez/blob/main/docs/examples/gearstore is a full, runnable project: a React storefront talking to instancez over @supabase/supabase-js , exercising auth, RLS, and querying end to end. docker compose up --build gets you a working app with seeded data.The docs also walk through two smaller builds start to finish: an ecommerce store https://instancez.github.io/examples/ecommerce-store/ with Stripe Checkout, and a file gallery https://instancez.github.io/examples/file-gallery/ with direct-to-S3 uploads. Full docs live at instancez.github.io : Contributions are welcome. Start with CONTRIBUTING.md /instancez/instancez/blob/main/CONTRIBUTING.md for the dev setup, the test loop, and how the codebase is laid out. Bug reports and feature requests go through the issue templates /instancez/instancez/blob/main/.github/ISSUE TEMPLATE . Found a vulnerability? Please follow the private disclosure process in SECURITY.md /instancez/instancez/blob/main/SECURITY.md rather than opening a public issue. Apache License 2.0, see LICENSE /instancez/instancez/blob/main/LICENSE . Contributions are covered by the Contributor License Agreement /instancez/instancez/blob/main/CLA.md .