Docker, source, or Compose
Run the binary. Provision a tenant.
Dashboard on :8000. RESP on :6380. Your existing RESP clients work once you AUTH.
Pick a path
Install
export DBX_KEK="$(python -c "import secrets; print(secrets.token_hex(32))")" docker run --rm -p 8000:8000 -p 6380:6380 \ -e DBX_ADMIN_PASSWORD='replace-with-12-plus-characters' \ -e DBX_JWT_SECRET='replace-with-at-least-32-random-characters' \ -e DBX_INTERNAL_API_TOKEN='replace-with-a-random-service-token' \ -e DBX_KEK \ -e DBX_NODE_MEMORY_BUDGET=8gb \ ghcr.io/vanshjain-0702/dbx-orchestrator:v1.1.0
Open the dashboard at http://localhost:8000 and log in with admin / your password. Mint a writer key on Tenant keys. The published image defaults to DBX_ISOLATION_MODE=strict, so DBX_KEK (64 hex characters) is required or the process exits. :latest tracks GitHub Releases. PowerShell: $env:DBX_KEK = python -c "import secrets; print(secrets.token_hex(32))" then the same docker run (line continuations are backticks). To build the same Dockerfile: docker build -t dbx:dev -f deploy/Dockerfile . then run dbx:dev with the same -e flags. For a laptop try without envelope encryption, add -e DBX_ISOLATION_MODE=inprocess and omit DBX_KEK (directory isolation only, not the security USP).
Prerequisites: Go 1.25+, Node.js 20+, GNU Make. Windows does not ship make; use Git Bash, WSL, or install Make. A fresh clone has no operator UI until the dashboard is built (make run-dev does that when dashboard/dist/index.html is missing).
git clone https://github.com/vanshjain-0702/DBX-Database-Extreme.git cd DBX-Database-Extreme make build # dbx-server + dashboard embed + dbx-orchestrator make run-dev # http://127.0.0.1:8000 (admin / adminadminadmin)
Without Make: cd dashboard && npm ci && npm run build, then set the same env vars as the Makefile run-dev target and go run ./cmd/dbx-orchestrator -insecure-http=true.
Copy .env.example to .env in the repo root and set the secrets, including a 64-hex DBX_KEK. The compose file lives in deploy/, so Compose will not auto-load that .env unless you pass --env-file.
git clone https://github.com/vanshjain-0702/DBX-Database-Extreme.git cd DBX-Database-Extreme cp .env.example .env # set DBX_ADMIN_PASSWORD, DBX_JWT_SECRET, DBX_INTERNAL_API_TOKEN, DBX_KEK make docker-up # without GNU Make: # docker compose --env-file .env -f deploy/docker-compose.yml up --build
AUTH, then talk
The first RESP command must be AUTH <tenantID>:<keyID> <secret>. Scoped credentials are per tenant. HTTP /t/{tenantID}/query is operator tooling, not the public tenant API.
From the clone: pip install -e sdk/python. from dbx import DBXClient fails from the repo root without that (or a PYTHONPATH into sdk/python). Replace key_id and secret with a writer key from Tenant keys (shown once).
from dbx import DBXClient
db = DBXClient(
host="localhost",
port=6380,
tenant="acme-corp",
key_id="key-id",
secret="one-time-key-secret",
)
# Working state for this customer's agent
db.set("session:42", '{"thread": "onboarding", "step": 3}')
# Semantic memory for the same customer, same engine, same backup
db.vadd("memories", "doc:1", [0.1, 0.2, 0.9])
results = db.vsearch("memories", [0.1, 0.2, 0.8], top_k=5)
import { createClient } from 'redis'; // DBX speaks RESP, so existing clients work
const client = createClient({ url: 'redis://localhost:6380' });
await client.connect();
await client.sendCommand(['AUTH', 'acme-corp:key-id', 'one-time-key-secret']);
await client.set('session:abc', JSON.stringify({ userId: 42 }));
Provision a customer
Bearer token from POST /api/login (JSON body, Content-Type: application/json). Then create a live isolated engine:
curl -s -X POST http://localhost:8000/api/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"YOUR_ADMIN_PASSWORD"}'
# Response: {"token":"..."} — export it as DBX_TOKEN
curl -X POST http://localhost:8000/api/provision \
-H "Authorization: Bearer $DBX_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "acme-corp", "name": "Acme Corp"}'
Backup, restore, export/import, hibernate/wake, and delete take the same token and a tenant id. Meter a customer with GET /api/v1/tenants/{id}/usage. Full sequence on Features. The 15-minute path in Python is examples/quickstart.py (login, provision, AUTH, SET, VADD, usage, export, purge). LangChain session memory is examples/langchain-rag. Next.js SETEX is examples/nextjs-cache.