Glasshouse
A dashboard, privacy controls and Home Assistant bridge for rooted LG webOS TVs.
PostgreSQL for apps and AI tools. Small footprint, sign-in by default, live updates, honest health status.
Developer toolsTypeScript · PythonGitHub @librebase-officialOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Librebase: the Postgres backend agents run for you. Small PostgreSQL backend that AI agents find, sign into and run, with a person approving access once.
Taken from the repository README
Loading the full README.
Read the full README ↗Repository (origin): gitlab.lilangverse.xyz/librebase-official/librebase — GitHub is a read-only mirror.
Librebase is the open data platform powered by lidb — a Supabase-shaped stack with org/project/database workflows and a web console (Librebase Studio).
This repository is the canonical product home: platform code, Studio UI, docs, and Cursor agent rules.
The current blue bird identity is maintained in Figma. To sync logo and color tokens into Studio and docs, see docs/brand/FIGMA.md.
lidb and Librebase Studio are monetized product surfaces. Billing/entitlement enforcement is planned; launch paths include TODO gates in project-runtime.ts. See .cursor/rules/librebase-product.mdc for agent guidance.
| Path | Purpose |
|---|---|
data-studio-ui/ | Platform and Studio UI (Next.js) |
scripts/ | lidb embed lifecycle (lidb_engine.py) |
docs/ | Architecture and CLI/database docs |
.cursor/rules/ | Cursor agent product context |
Librebase supports dedicated (1 instance → 1 project, default) and shared (1 instance → N projects) deployment. See docs/architecture-instances.md.
Studio persistence (instances + projects JSON) lives under:
~/.local/share/librebase/studio%LOCALAPPDATA%\librebase\studioOverride with LIBREBASE_STUDIO_DATA_DIR.
Librebase exposes a hosted MCP endpoint — no local repo needed:
GET https://app.librebase.xyz/.well-known/mcp.jsonauth_start / auth_poll on POST https://app.librebase.xyz/api/mcp) — a human approves once in the browser; the agent receives an lb_agt_* token.Authorization: Bearer <token> on every other tool call (org_whoami, project_list, instance_list, KMS tools, etc.).Optional stdio bridge (repo checkout or future librebase-mcp package) — same contract as @librebase/mcp:
| Variable | Purpose |
|---|---|
LIBREBASE_MCP_URL | Hosted MCP JSON-RPC URL (default https://app.librebase.xyz/api/mcp) |
LIBREBASE_MCP_TOKEN | Optional lb_mcp_* / lb_agt_* bearer when skipping device flow |
{
"mcpServers": {
"librebase": {
"command": "python3",
"args": ["-m", "librebase_mcp"],
"env": {
"LIBREBASE_MCP_URL": "https://app.librebase.xyz/api/mcp",
"LIBREBASE_MCP_TOKEN": "lb_mcp_…"
}
}
}
}
Details: mcp/README.md · https://app.librebase.xyz/for-agents · https://app.librebase.xyz/llms.txt
Run Studio, Admin API, and KMS on your own VM with Docker Compose. See docs/self-hosting.md and deploy/compose/.env.example.
From the repo root:
cd data-studio-ui
npm install
npm run dev
Studio dev server: http://127.0.0.1:54324
Cloud workflow routes:
| Route | Purpose |
|---|---|
/ | Projects grid (primary nav) |
/instances | Instances list + health |
/projects/new | Create project (new instance vs existing) |
/projects/:id | Project home + launch database |
Local runtime without lidb: Studio defaults to LIDB_RUNTIME_MODE=dev, which starts scripts/dev_runtime_stub.py via scripts/lidb_engine.py when LIDB_ROOT is unset.
Production local runtime: set LIDB_ROOT to a lidb checkout and ensure lis is on PATH.
Studio can target a Kubernetes cluster instead of local processes:
$env:LIBREBASE_RUNTIME = "kubernetes"
$env:KUBECONFIG = "C:\path\to\kubeconfig"
| Path | Purpose |
|---|---|
deploy/docker/lidb-runtime/ | Dev runtime Docker image (librebase/lidb-runtime:dev) |
deploy/kubernetes/ | Reference manifests (dedicated + shared) |
deploy/helm/librebase-instance/ | Helm chart for manual installs |
docs/kubernetes.md | Architecture, kind/minikube steps, Studio flow |
data-studio-ui/lib/k8s-provisioner.ts | Provisioner used by API and launch routes |
Build the runtime image, load into kind/minikube, then create a project with Deploy to Kubernetes on /projects/new (or set LIBREBASE_RUNTIME=kubernetes globally):
.\deploy\docker\lidb-runtime\build.ps1
kind load docker-image librebase/lidb-runtime:dev --name librebase
$env:LIBREBASE_K8S_IMAGE = "librebase/lidb-runtime:dev"
Health stays honest: green only when probes see real open ports.
cd data-studio-ui
npm test
npm run test:coverage
test:coverage reports line coverage for lib/** (30% line threshold locally). CI runs the same report without failing on coverage thresholds while the suite grows.
| Layer | Tool | Focus |
|---|---|---|
| Studio stores / bridge | Vitest | instances-store, projects-store, dedicated vs shared |
| lidb embed / dev runtime | Python unittest | lidb_engine.py lifecycle, port probes |
| E2E | Playwright (planned) | create flow, Instances view, honest health UI |
cd data-studio-ui && npm test
python -m unittest discover -s tests -p "test_*.py"
GitHub Actions (.github/workflows/test.yml) runs on push and PR to main: Vitest + Python tests + npm run build in data-studio-ui (Node 20).
Pure Li OCI engine — licontainer/ contains only .li packages. No Rust, no C in librebase. Trusted OCI impl merges into lic (like li-net).
export LIC_ROOT=/path/to/lic
./licontainer/scripts/build-li.sh
| Path | Purpose |
|---|---|
licontainer/packages/ | Li workspace: run, daemon, CLI, img, cri |
licontainer/PURE-LI-POLICY.md | Repo language policy |
docs/rfc-container-trusted-surface.md | Upstream lic merge RFC |
Studio: LIBREBASE_RUNTIME=licontainer. K8s: Helm containerRuntime: licontainer.
CI: .github/workflows/licontainer-build.yml (pure Li lic build only).