Skip to content
Lumbung

Run SQLite databases with branches on your own server

Change a copy of your database and keep main safe.

Get started
~/shop
lumbungd
A terminal session: create the branch pr-42 of the shop database, apply a migration to it, diff it against main, query it, then delete it.
  • maindefault
  • pr-42+ index orders_by_email
  • agent-sandboxexpires in 7 days

Branches are full copies

Change one, diff it against main, then throw it away.

Branches
  1. create_branchagent-sandbox
  2. executeALTER TABLE users ADD plan TEXT
  3. diff_branches1 change against main

Agents get their own branch

MCP over HTTP, with a token scoped to one branch.

Use from an AI agent
import { createClient } from "@lumbung/client"

const db = createClient({
  url: "http://127.0.0.1:4870",
  token: process.env.LUMBUNG_TOKEN!,
  database: "shop",
  branch: "pr-42",
})

const { rows } = await db.query("SELECT * FROM orders")

Query from TypeScript

A small client with no dependencies.

TypeScript SDK
git clone https://github.com/zakiego/lumbung.git
cd lumbung
docker compose up -d --build

Runs on your machine

One Compose file: the engine, the dashboard and your data.

Docker Compose

Branch your first database in five minutes