v0.2 Realtime, MFA, webhooks and a Docker image

Build on Postgres.
Let your agents run it.

IvaraBase is a self-hosted, Supabase-compatible backend. One server holds all your projects, each with its own database, auth, storage, realtime, functions and backups. Claude Code, Codex or ChatGPT build on it over MCP, and anything risky waits for your approval.

Works with Claude CodeCodexChatGPTCursorsupabase-jsDocker

The IvaraBase dashboard with health checks, projects and pending agent approvalsThe IvaraBase dashboard with health checks, projects and pending agent approvals
~0 MBper idle project
1container to run it all
100+operations, all over MCP
300end-to-end checks per release

Everything a project needs

A complete backend, per project

The same building blocks you know from Supabase, behind the same APIs, on a server you own.

Built for AI agents

Agents build. You approve.

Every button in the dashboard is an operation, and every operation is an MCP tool. Your agent can create a project, write migrations, turn on auth and deploy functions, without a single UI-only step.

  • Scoped tokens. Read, write or admin; per project; with an expiry.
  • Previews first. Destructive calls show what would happen before anything runs.
  • Approvals. Dropping a table or replacing data becomes a request you accept from your phone.
  • Audit log. Every change, with the agent that made it.
claude mcp add --transport http ivarabase \
  https://base.example.com/mcp \
  --header "Authorization: Bearer ivb_..."

Also Codex, ChatGPT, Cursor, VS Code and Claude Desktop. Connect your agent →

Approving an agent's request on a phoneApproving an agent's request on a phone

Supabase-compatible

Keep your client code

supabase-js and the Supabase SDKs work unchanged. Point them at a project URL and go.

import { createClient } from "@supabase/supabase-js";

const supabase = createClient("https://shop.base.example.com", ANON_KEY);

const { data: orders } = await supabase
  .from("orders")
  .select("id, status, order_items(qty, products(name))")
  .eq("status", "paid")
  .order("created_at", { ascending: false });
Agents, apps and you talk to one IvaraBase server, which runs every project in one Postgres cluster

One server, every project

Your tenth project costs nothing extra

A project is a database, a few roles and some metadata in one Postgres cluster. REST and function processes start on the first request and stop when idle, so client work, side projects and staging copies share the server you already pay for.

  • Postgres tuning follows the memory you give it, container limits included.
  • Monitoring and alerts to a webhook, Discord or email.
  • Automatic HTTPS, or sits behind nginx, Caddy or Traefik.

Compare

Where IvaraBase fits

IvaraBaseSupabaseself-hostedPocketBaseFirebase
Run by AI agents, with approvals✓◐–◐
Many projects on one server✓––☁
Self-host with one container✓◐✓–
Postgres + supabase-js✓✓––
Encrypted, restore-tested backups✓◐◐☁

✓ yes · ◐ partly · ☁ cloud only · – no. Full comparison, including where the others win →

Self-host in minutes

One container. Your server.

IvaraBase, Postgres 18, PostgREST and Deno in one image for amd64 and arm64. Put it behind the proxy you already run.

services:
  ivarabase:
    image: ghcr.io/ankittchaurasia/ivarabase:0.2-pg18
    restart: unless-stopped
    environment:
      IVARA_DOMAIN: base.example.com
    ports: ["127.0.0.1:8787:8787"]
    volumes: [ivarabase-data:/data]
volumes:
  ivarabase-data:
docker compose up -d

Give your agents a real backend

Open source under AGPL-3.0. Free to self-host, commercially too.