0.19 → Runtime V1
Move from the launcher and SQLite Tenants to the local Docker stack.
Runtime V1 replaces the global launcher, Project-managed development command, Hosted Studio, and SQLite Session Store.
1. Install prerequisites
Use Node 24+ and Docker with Compose v2. On Windows, use both inside WSL2.
npm uninstall --global @nylorun/runtime
node --version
docker compose version
npx nylorun doctor2. Use the two CLIs
| Before | After |
|---|---|
nylorun runtime up | nylorun up |
nylorun runtime down | nylorun down |
nylorun runtime status | nylorun status |
nylorun runtime logs | nylorun logs [service] |
nylorun dev | nylo tenant create once, then npm run dev |
nylorun tenant … | nylo tenant … |
nylorun configure | nylo configure |
nylorun status --env | nylo env |
nylorun doctor sandbox | nylo doctor sandbox |
nylorun manages only the Docker stack. nylo, supplied by
@nylorun/cli, manages Tenants, Project links, and model configuration.
3. Recreate Tenants
SQLite Tenants are not migrated. On first start, Runtime moves directories
containing tenant.sqlite to ~/.nylorun/trash/<id>-sqlite-<time>/ and logs
sqlite_tenant_moved_to_trash.
Remove the old Project link, preserve anything you need from trash/, then:
npx nylorun up
npx @nylorun/cli tenant createThe new Tenant uses a tenant_<id> Postgres schema and S2 session streams.
4. Update the generated project
Remove @nylorun/cli and @nylorun/studio from the project. Keep
@nylorun/agents, zod, tsx, TypeScript, and Node types. Change the script:
- "dev": "nylorun dev",
- "studio": "nylorun-studio",
+ "dev": "tsx watch --env-file-if-exists=.env src/main.ts",Creator no longer starts development. Studio runs at http://localhost:4161;
use nylorun studio for a single-use login valid for two minutes.
5. Remove microsandbox
Only the virtual emulated-shell backend remains. Change forced
microsandbox settings to auto or virtual. Remove leftover microVMs with
msb rm --force <name> for names beginning nylorun-, then uninstall msb.
6. Check wire changes
- Protocol 2 now requires
studio-principal; older Hosts fail asincompatible_host. - Hosts may advertise optional
tenant-fixture-model; seed it per Tenant withfixtureModel: true. - Tenant status reports
checks.storeinstead ofchecks.sqliteand may includeexecutionandstreams. - Quarantine code
lockedand all launcher error codes are removed. /readycovers Postgres, Restate, and S2.
Finally run npm install, npm run check, npm run build, and open a new
Studio session.