nb portal

nb portal manages portals. A portal can have its own frontend source, entry path, and deployment output; this command group connects the portal record in NocoBase with the local workspace and source storage.

A typical flow is to create a local workspace, start development mode, push source changes to source storage, and then build and deploy. If you are taking over an existing portal, pull it locally first.

Usage

nb portal <command>

Subcommands

CommandDescription
nb portal configUpdate the local portal source configuration and sync it to the remote portal record when possible
nb portal createCreate a local portal from a template and create or update the portal record
nb portal deployBuild and deploy the specified portal
nb portal destroyDelete the portal record and local workspace
nb portal devStart development mode for the specified portal
nb portal infoShow details for the specified portal record and local workspace
nb portal listList portal records and local workspace sync status
nb portal pullPull portal source from source storage into the local workspace
nb portal pushPush local portal source changes to source storage

Typical Flow

Create a portal named customer:

nb portal create customer -e dev --yes

Start local development mode:

nb portal dev customer -e dev --yes

Inspect the local workspace and remote record:

nb portal info customer -e dev --yes
nb portal list -e dev --yes

Push source and deploy:

nb portal push customer -e dev --yes --message "Update customer portal"
nb portal deploy customer -e dev --yes

Take over an existing portal:

nb portal list -e dev --yes
nb portal pull customer -e dev --yes
nb portal dev customer -e dev --yes

Switch source storage:

nb portal config customer -e dev --yes --source-storage git --git-repo git@github.com:nocobase/customer-portal.git
nb portal push customer -e dev --yes --message "Move customer portal source to Git"

source storage

When creating a portal, choose where the source code is managed:

ModeDescription
nocobaseDefault mode. Source code is managed by NocoBase source storage.
gitSource code is stored in a Git repository, configured with --git-repo, --git-branch, and --git-path.

For quick creation and development, the default nocobase storage is usually enough. Use git when the portal source should be reviewed, versioned, or built through an existing team workflow.

Source configuration is written to portal.config.json in the local workspace. create, pull, and config maintain this file; push and deploy read it to sync source or deployment output.

Env Types

nb portal currently supports local, docker, and http envs:

ModeDescription
localThe workspace and app storage are on the current machine. With default nocobase storage, pull/push usually do not need extra sync.
dockerThe workspace is shared with the app through a Docker volume. With default nocobase storage, pull/push usually do not need extra sync.
httpSource and deployment output are synced through APIs. pull downloads a source archive, and push uploads one.

ssh envs do not support portal management in the current version.

Local Workspace Path

Portals are stored under the selected env storage:

<storagePath>/portals/<app>/<portal>

The main app access path is usually:

<appPublicPath>/x/<portal>/

A sub-app access path is usually:

<appPublicPath>/x/apps/<app>/<portal>/

Env Confirmation

Most nb portal subcommands support --env and --yes:

FlagDescription
--env, -eCLI env name. If omitted, the current env is used.
--yes, -ySkip cross-env confirmation when an explicit --env targets a different env from the current env.

In scripts or AI agent workflows, pass --env and --yes explicitly to avoid stopping at an interactive confirmation.