@berthos/registry-server
v0.2.4
Published
Local app registry: publish/discover/install resident apps (Phase 5)
Maintainers
Readme
@berthos/registry-server
A small, self-hosted registry for sharing resident apps inside a team or on a closed network. berth publish uploads an app to it, and berth init --registry starts a new project from one.
Berth runs an AI agent's tools in a sandbox. Each tool declares what it may touch in a berth.yml manifest, and the Linux kernel enforces it.
npm install -g @berthos/registry-serverUsage
berth-registry # listens on http://127.0.0.1:4873
berth publish --registry http://localhost:4873 # from an app's directory; prints an owner token
berth init my-app --registry http://localhost:4873 --template notesThe first publish of a name prints an owner token. Save it: it isn't shown again, and every later version of that name needs it (--token or BERTH_REGISTRY_TOKEN).
| Env var | Default | What it does |
|---|---|---|
| BERTH_REGISTRY_PORT | 4873 | Port to listen on |
| BERTH_REGISTRY_HOST | 127.0.0.1 | Address to bind; 0.0.0.0 accepts remote connections |
| BERTH_REGISTRY_DATA_DIR | ./.berth-registry-data | SQLite index and uploaded bundles |
| BERTH_REGISTRY_TLS_CERT, _KEY, _CA, _REQUIRE_CLIENT_CERT | unset | Serve HTTPS |
To embed it, createRegistryServer({ dataDir, tls?, logger? }) returns a Fastify instance; call .listen() yourself.
Limits
- Single node, no users or rate limiting. The only credential is each name's owner token, which can't be recovered or rotated.
- Serve it over HTTPS when it's on another machine, so the owner token isn't sent in the clear.
