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 portal source configuration
nb portal createCreate a local AI portal from a template
nb portal deployBuild and deploy a portal
nb portal destroyDestroy a portal record and deployed files
nb portal devStart development mode for the specified portal
nb portal infoShow portal record and local file details
nb portal listList portal records and development paths
nb portal pullPull portal source into local files
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

Portal source storage is stored in the remote portal record options:

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.

nb portal config updates source storage and Git settings in the remote portal record. The development workspace path is stored separately in the CLI env config as portals.<portal>.path, maintained by create, pull --path, or config --path.

Env Types

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

ModeDescription
localThe workspace and app storage are on the current machine. pull writes source to the development path, and deploy builds from that path before syncing deployment output.
dockerThe workspace is shared with the app through a Docker volume. pull writes source to the development path, and deploy builds from that path before syncing deployment output.
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.

Development And Deployment Paths

Portal development workspaces are created under the current working directory by default:

./<portal>

Use --path with create, pull, or config to choose a different development path. Deployment output is still stored under the target app 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.