nocobase-app-installer

Installation
SKILL.md

Install and run NocoBase 3 with app-installer

This Skill installs NocoBase that is already built — nothing on the machine is developed, only run. @nocobase/app-installer puts each release under releases/<version>_<build time>/app and runs it under pm2; config.yml, app.env, storage/, backups/ and logs/ sit beside the releases and survive every upgrade. It installs from --archive, a deployment archive built in an application project. This Skill decides when to use it and how to act on what it reports; --help is the reference for every flag.

Run it

Run the installer on the machine where the Agent works, with the registry named and --json. For SSH deployment this is the local machine, not the server:

npx --yes --registry="${NOCOBASE_REGISTRY:-https://registry.npmjs.org}" @nocobase/app-installer@beta <command> … --json

Use @beta for the published installer; do not fall back to an untagged invocation or @latest. Preserve an explicit version required for an existing installation or requested by the user, and use the snapshot tag when testing an unreleased local registry.

NocoBase 3 publishes to the public npm registry. NOCOBASE_REGISTRY is set only when someone points the shell at another registry, such as an unreleased snapshot; the installer records the registry in installer.json and suggests commands from it. The --yes before the package is npx's own: it downloads the installer without asking. The installer's --yes, after the command, is a separate answer that only the user gives.

Use the published beta channel unless the user specifies an exact version. An unreleased snapshot registry tags its packages latest; use that tag only when testing such a registry. Check --help before deploying to confirm the selected version supports deploy and --ssh.

--json prints one document on stdout and progress on stderr, in the same envelope as pnpm nocobase … --json. Read the document, not the exit code alone: ok, status (success, success-noop or failure), result, and on failure error.code, error.message, error.suggestions and error.details. Each suggestion has a message and, where there is one, a run of { command, args }: an executable and its arguments, run as given without a shell. app-installer 0.1.0-beta.1 and earlier, which a suggested command pinned to that version still runs, print status error and run as one shell line that runs as printed, so tell success from failure by ok.

Installs
76
GitHub Stars
3
First Seen
Oct 12, 2026