Current status
Self-hosting is not part of the private beta. The supported path depends on which Worlds components you run:worlds-api: the self-hostable Worlds data-plane service (search, SPARQL, import, export).worlds-sdk-ts: local and embedded Worlds SDK usage.worlds-client-ts: generated data-plane HTTP client for the hosted or self-hosted Worlds API.worlds-libsql: durable SQLite-compatible storage through LibSQL/Turso-style backends.worlds-postgres: durable PostgreSQL-backed storage.worlds-vps: full-stack VPS deployment composition with Terraform and Docker Compose.
Storage backends
Worlds storage drivers ship as standalone JSR packages. Pick the backend that matches your persistence needs. All five durable backends now ship full SDK factories with hybrid search and parity-green CI suites.LibSQL / Turso
@worlds/libsql provides durable LibSQL
storage with hybrid full-text and vector search. createLibsqlSdk assembles a
quad store, search index, and SPARQL engine over a LibSQL connection:
file:
backend stores worlds locally; the remote URL keeps them in a managed LibSQL
database.
PostgreSQL
@worlds/postgres provides durable
PostgreSQL storage with hybrid tsvector + pgvector search. createPostgresSdk
assembles a quad store, search index, and SPARQL engine over a PostgreSQL
connection:
SQLite (local file)
@worlds/sqlite provides durable SQLite
storage via node:sqlite with hybrid FTS5 + sqlite-vec search.
createSqliteSdk assembles a quad store, search index, and SPARQL engine:
Cloudflare D1
@worlds/cloudflare provides durable D1
storage with FTS5 keyword search. createCloudflareSdk assembles a quad store,
search index, and SPARQL engine over a D1 binding:
IndexedDB (browser)
@worlds/indexeddb provides durable
browser-native storage via IndexedDB with JS-side hybrid TF-IDF + cosine search.
createIndexeddbSdk assembles a quad store, search index, and SPARQL engine:
VPS deployment
worlds-vps owns full-stack
orchestration for running Wazoo services on a VPS: DigitalOcean droplet and
firewall Terraform, cloud-init bootstrap, Caddy routing, and Docker Compose
wiring for the service images.
Copy .env.example to .env, set the values used by docker-compose.yml, then
start the stack:
ghcr.io/wazootech service images: wazoo-api,
worlds-api, and wazoo-console, fronted by Caddy for HTTPS routing. The
worlds-api service runs on a file-backed LibSQL database mounted as a Docker
volume.
For the DigitalOcean droplet, create do.auto.tfvars with the variables listed
in the repository README, then apply the Terraform composition:
Deployment responsibilities
When you self-host, you own:- Worlds data services and storage.
- Network ingress and access control.
- Token issuance and rotation.
- Backups, monitoring, and incident response.