Deployment
Once development is complete, the application is deployed to a server. This chapter covers three subjects: the available deployment methods and when each applies, how to hand a deployment to an AI Agent, and the commands a manual deployment requires.
Deployment methods
All three deployment methods use the same deployment archive. Running pnpm build --tar in the application project root produces storage/exports/dist.tar.gz; a Docker deployment runs the same build from source during the image build. The archive contains only build output and production dependencies, excludes runtime configuration and business data, and is not bound to a mount path: the same archive can be mounted standalone at any path such as /crm, or handed to a Hub, which mounts it at /<app ID>.
Hub is the application publishing and management platform provided by the NocoBase Professional edition and is not included in the open-source edition; without a Professional license, deploy with app-installer or Docker. Hub is itself a NocoBase application. Developers upload deployment archives to it, operators select a version, enter the runtime configuration, start deployments and review logs in the management console, and business users access each application at its own address. A single server can provide both the management console address, such as https://apps.example.com/hub/, and the business application addresses, such as https://apps.example.com/crm/.
Ways to carry out a deployment
- With an AI Agent. After the deployment target, database and type of operation are stated, the Agent builds, uploads, installs and verifies. The deployment Skill shipped with the application specifies every step, so no commands need to be memorized. See Deploy with an AI Agent.
- Manually. Each deployment method requires only a small number of commands. See Manual: Hub and Manual: standalone.
Both ways run the same commands. The manual pages also serve as the reference for reviewing what an Agent did.
Prerequisites
The following must be prepared before starting, whichever way the deployment is carried out. An Agent cannot obtain these on its own.
Contents of the runtime directory
Keeping these three apart ensures that upgrades and rollbacks do not affect data. The backup scope is config.yml and storage/; data held in an external database or object storage is backed up separately with that service's own tools. A Hub's persistent directory, APP_STORAGE_DIR, contains the platform database, the uploaded Releases and the configuration and data of every hosted application, and is backed up as a whole. The configuration fields are described in Runtime configuration; failures are covered in Troubleshooting.

