Glasshouse
루팅된 LG webOS TV용 대시보드·프라이버시 제어·Home Assistant 연동
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
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).