Lux Cloud
Managed Lux projects with the same open-source runtime underneath: tables, cache, vectors, realtime, queues, time series, auth, snapshots, logs, and direct protocol access.
What Lux Cloud gives you
Lux Cloud is the hosted product surface for building apps on Lux. Self-hosting stays available, but Cloud adds project management, gateway keys, auth configuration, dashboard tooling, and operational automation.
| Included | Why it matters |
|---|---|
| Managed projects | Provision Lux instances in seconds without handling infrastructure. |
| Explorer + console | Inspect keys, tables, vectors, and time series from the browser. |
| Project keys + Cloud gateway | Use publishable keys from browsers and secret keys from trusted servers. |
| Lux Auth | App users, sessions, OAuth providers, JWTs, and auth-owned system tables. |
| Snapshots + WAL | Durability and recovery without operational setup. |
| Logs + metrics | Observe projects and troubleshoot without building separate tooling. |
Create a project
Sign in to your dashboard, click New Project, choose a region and tier, and your instance is live in seconds.
Or create and link via the CLI:
lux create my-project --accept-charges
lux link my-project
lux env pullConnect
There are two main connection surfaces. Use the SDK/Cloud gateway for application code. Use direct protocol access when you need low-level command access or Redis-compatible tooling.
SDK and Cloud gateway
The gateway is the normal app surface. Browser clients use publishable keys. Server clients use secret keys. Signed-in app users send a project key plus their Lux Auth JWT.
import { createBrowserClient, createClient } from "@luxdb/sdk";
const lux = createBrowserClient(
"https://api.luxdb.dev/v1/my-project",
"lux_pub_..."
);
const { data, error } = await lux
.table("messages")
.select()
.eq("channel_id", "general")
.limit(50);
const admin = createClient(
"https://api.luxdb.dev/v1/my-project",
"lux_sec_..."
);Direct Lux protocol
Cloud projects also expose a canonical TLS endpoint for direct protocol access:
luxs://:password@your-project.db.luxdb.dev:6380For Redis-compatible clients that do not understand the luxs:// scheme, use the equivalent TLS URI:
redis-cli --tls -u rediss://:password@your-project.db.luxdb.dev:6380Best for: app servers, workers, migration runs, Redis-compatible tools, and anything that can safely hold the database password.
HTTP API
Every project is accessible via REST at api.luxdb.dev. Authenticate with a project key from the project settings page.
curl -H "apikey: lux_pub_..." \
-H "Authorization: Bearer lux_pub_..." \
https://api.luxdb.dev/v1/my-project/kv/helloThe SDK uses these HTTP routes under the hood for project clients:
GET /v1/:project/kv/:key # get a key
PUT /v1/:project/kv/:key # set a key
DELETE /v1/:project/kv/:key # delete a key
GET /v1/:project/tables/:table # query rows
POST /v1/:project/tables/:table # insert row
PUT /v1/:project/tables/:table/:id # update row
POST /v1/:project/ts/:key # add sample
GET /v1/:project/ts/:key?agg=avg&bucket=60000 # range query
POST /v1/:project/vectors/search # vector search
POST /v1/:project/exec # any commandBest for: browser apps, edge functions, serverless, MCP, and any environment where TCP sockets are awkward or unavailable. See the full HTTP API reference.
Dashboard
Every Lux Cloud project includes a full-featured dashboard:
| Feature | Description |
|---|---|
| Tables | Browse relational tables and inspect auth-owned system tables |
| Realtime | Live key change feed via KSUB |
| Vectors | Manage and query vector indexes |
| Time Series | Visualize and query time series data |
| Queues | Monitor stream-based queues and consumer groups |
| Auth | Configure app auth users, sessions, and OAuth providers |
| Console | Run commands directly from the browser |
| Logs | Tail runtime logs in realtime |
| Snapshots | Create, view, download, and manage point-in-time snapshots |
CLI
Install the Lux CLI:
curl -fsSL https://luxdb.dev/install.sh | sh
lux loginCommon commands:
lux init
lux projects
lux create my-app --accept-charges
lux link my-app
lux env pull
lux migrate run
lux seed run
lux status my-app
lux destroy my-app --accept-consequencesSDK
The Lux SDK is the highest-level DX path when you want project auth, table queries, vectors, and direct Redis-compatible access from one package:
bun i @luxdb/sdkimport { createBrowserClient, createClient, Lux } from "@luxdb/sdk";
// Browser/app access through the Cloud gateway.
const lux = createBrowserClient(
"https://api.luxdb.dev/v1/my-project",
"lux_pub_..."
);
const { data, error } = await lux
.table("messages")
.select()
.eq("channel_id", "general")
.limit(50);
// Trusted server access can use the secret key.
const admin = createClient("https://api.luxdb.dev/v1/my-project", "lux_sec_...");
// Direct SDK access is for local/self-hosted non-TLS Lux instances.
const direct = new Lux("lux://127.0.0.1:6379");For simple edge/serverless calls, use the HTTP API directly:
const res = await fetch("https://api.luxdb.dev/v1/my-project/kv/hello", {
headers: {
apikey: "lux_pub_...",
Authorization: "Bearer lux_pub_..."
}
});
const { result } = await res.json();Pricing
One simple price per project, billed monthly. Free for 14 days, no credit card required to start.
Standard
$10/mo per project
512 MB hot cache
5 GB storage
1000 ops/sec sustained
Snapshots, WAL, recovery
See /pricing for the full breakdown.
Operational notes
Lux uses WAL replay plus snapshots for durability. Cloud adds managed process restarts, metrics, logs, and snapshot storage. For production expectations and launch-stage limits, read Reliability and Limits.