First Runtime
This page shows the simplest current way to start Zelavis.
Quick start
Section titled “Quick start”import { Zelavis } from "zelavis";import { nodeAdapter } from "zelavis/adapters/node";import { createNodeServer } from "zelavis/runtimes/node";
const zv = new Zelavis({ adapter: nodeAdapter(),});const server = await createNodeServer(zv);
server.listen(3000);This is the preferred application-facing shape. Examples use zv as the short local name for a Zelavis runtime instance.
When you need direct access to the initialized runtime object, jump to Advanced Runtime Access.
What you get by default
Section titled “What you get by default”A Zelavis App Project created from the official Project recipe mounts these runtime services:
- dashboard
- auth
- database
- website
- workloads
When the selected adapter provides file storage, Zelavis can also expose:
- storage
Default root namespace:
/zelavis/zelavis/marketplace/zelavis/projects/:projectId/zelavis/projects/:projectId/marketplace/zelavis/projects/:projectId/settings/zelavis/server/zelavis/server/domains/zelavis/server/backups/zelavis/server/logs/zelavis/assets/*/zelavis/api/v1/runtime/config/zelavis/api/v1/runtime/settings/zelavis/api/v1/auth/zelavis/api/v1/database/zelavis/api/v1/storage/files/*/zelavis/api/v1/storage/files/*?format=metadata/zelavis/api/v1/workloads/zelavis/api/v1/workloads/http/:projectId/*pathThe dashboard root at /zelavis opens the Projects overview. Create a project there, then open its project-local pages under /zelavis/projects/:projectId/*.
The global Marketplace at /zelavis/marketplace is for Project recipes
presented as apps and starters, plus templates and server provider plugins.
Project plugins live inside Zelavis-native Projects at
/zelavis/projects/:projectId/marketplace. Global management areas such as
Domains, Resources, Server, and Security sit outside Project URLs; server-owned
backing routes currently live under /zelavis/server/*.
The website service also mounts public website pages at /, while still reserving the dashboard namespace under /zelavis.
Platform settings, project registry data, and service installation state are
stored in the Platform System Store. Local adapters use
.zelavis/system/zelavis.sqlite. The Platform does not expose that store in a
project Database screen. Each Zelavis App project has an app database at
.zelavis/projects/<projectId>/.zelavis/data/primary/shards, backed by four
local SQLite shard files by default, and private topology/runtime metadata at
.zelavis/projects/<projectId>/.zelavis/runtime/zelavis.sqlite.
The runtime lists Project recipes at
GET /zelavis/api/v1/runtime/project-recipes. See Platform OS and Project
Recipes.
Dashboard settings
Section titled “Dashboard settings”The built-in dashboard settings endpoint currently exposes:
rootPathpendingRootPathapiBasePaththemepageBuilderEnabledpersistenceeditablerestartRequired
Root path changes are stored as pending runtime settings and require a restart before the dashboard actually moves.
Use the fetch-style runtime directly
Section titled “Use the fetch-style runtime directly”When the self-hosted handler already speaks the Web Request -> Response model (Bun, Next.js App Router on Node, future Deno, etc.), no framework helper is needed — call zv.fetch(request) directly:
import { Zelavis } from "zelavis";
const zv = new Zelavis();const response = await zv.fetch( new Request("http://localhost/zelavis/api/v1/runtime/config"),);