Skip to content

app

The apps of a bench. The guide is Apps. Every command takes the options for every command. None of them runs bench update, drops a site or deletes a folder.

app list

benchbar app list [--json] [--no-sites]

Every app: branch, commit, local changes, and the sites that have it. benchbar app alone does the same.

FlagWhat it does
--jsonThe list as JSON (schema)
--no-sitesRead the last site lists instead of asking bench (faster)

Exit codes: 0; 1 when no bench is found.

Terminal window
benchbar app list --json

app add

benchbar app add NAME|URL [--branch B] [--name N] [--site S | --all-sites]

bench get-app from config/apps.tsv or any git URL (GitHub, SSH, a host alias), after checking that git can read it. Never replaces an app.

FlagWhat it does
--branch BClone this branch instead of the registry’s
--name NThe app’s folder name, when it differs from the URL
--site SInstall the app on this site afterwards
--all-sitesInstall it on every site

Exit codes: 0 added (or already there); 1 the repo is not readable, the app exists, or a step failed.

Terminal window
benchbar app add git@github.com:acme/acme.git --branch main --all-sites

app install

benchbar app install NAME --site S

Installs an app of the bench on one site.

FlagWhat it does
--site SThe site to install on

Exit codes: 0; 1 on failure.

Terminal window
benchbar app install crm --site v16two

app update

benchbar app update NAME [--skip-backup] [--dry-run] [--json]

Fast forwards one app with a changelog first, backs up the sites that have it, then runs requirements, migrate and build. A dirty or diverged app is refused; it never rebases or resets.

FlagWhat it does
--skip-backupDo not back up the sites first
--dry-runShow the changelog and the plan, change nothing
--jsonWith --dry-run: the plan as JSON (schema)

Exit codes: 0 updated or already current; 1 refused or a step failed.

Terminal window
benchbar app update erpnext --dry-run