Bench Commands Cheatsheet
Printable Bench CLI Cheatsheet
Grab a A4 size printable cheatsheet of the most important Bench CLI commands here . Download, print and put it on your desk!
General Usage
-
bench --version
- Show bench version -
bench version
- Show version of all apps -
bench src
- Show bench repo directory -
bench --help
- Show all commands and help -
bench [command] --help
- Show help for command -
bench init [bench-name]
- Create a new bench (Run from home dir)-
--python TEXT
Path to Python Executable. -
--ignore-exist
Ignore if Bench instance exists. -
--apps_path TEXT
path to json files with apps to install after init -
--frappe-path TEXT
path to frappe repo -
--frappe-branch TEXT
Clone a particular branch of frappe -
--clone-from TEXT
copy repos from path -
--clone-without-update
copy repos from path without update -
--no-procfile
Pull changes in all the apps in bench -
--no-backups
Run migrations for all sites in the bench -
--no-auto-update
Build JS and CSS artifacts for the bench -
--skip-redis-config-generation
Skip redis config generation if already specifying the common-site-config file -
--verbose
Verbose output during install
-
-
bench --site [site-name] COMMAND
- Specify site for command -
bench update
- Pulls changes for bench-repo and all apps, applies patches, builds JS and CSS, and then migrates.-
--pull
Pull changes in all the apps in bench -
--patch
Run migrations for all sites in the bench -
--build
Build JS and CSS artifacts for the bench -
--bench
Update bench -
--requirements
Update requirements -
--restart-supervisor
restart supervisor processes after update -
--no-backup
Don't take a backup before update -
--reset
Ignore local changes and update -
--dev
Enable developer mode on the new bench and install developer dependencies which are required for running tests.
-
-
bench restart
Restart all bench services -
bench backup
Create a backup of the default site.Backup will be saved to
~/frappe-bench/sites/{your site}/private/backups/
. -
bench backup-all-sites
Backup all sites-
--with-files
Backup site with files
-
-
bench restore
Restore-
--with-private-files
Restore site with private files (Path to tar file) -
--with-public-files
Restore site with public files (Path to tar file)
-
-
bench migrate
Run patches, sync schema and rebuild files/translations-
--rebuild-website TEXT
Rebuild webpages after migration
-
-
bench migrate-env [python-version]
Will migrate the virtual environment to the desired python version -
bench --site [sitename] set-admin-password [password]
Will reset the administrator password -
bench destroy-all-sessions
Destroys all sessions
Config
-
bench config
- Change bench configuration-
auto_update [on/off]
Enable/Disable auto update for bench -
dns_multitenant [on/off]
Enable/Disable DNS Multitenancy -
http_timeout
Set http timeout -
restart_supervisor_on_update
Enable/Disable auto restart of supervisor -
serve_default_site
Configure nginx to serve the default site on -
update_bench_on_update
Enable/Disable bench updates on running bench...
-
-
bench setup
- Setup components-
auto-update
Add cronjob for bench auto update -
backups
Add cronjob for bench backups -
config
overwrite or make config.json -
env
Setup virtualenv for bench -
nginx
generate config for nginx -
procfile
Setup Procfile for bench start -
production
setup bench for production -
redis
generate config for redis cache -
socketio
Setup node deps for socketio server -
sudoers
Add commands to sudoers list for execution... -
supervisor
generate config for supervisor -
add-domain
add custom domain for site -
firewall
setup firewall and block all ports except 22, 80 and 443 -
ssh-port
change the default ssh connection port -
requirements
Update Python and Node packages-
--node
Update only Node packages -
--python
Update only Python packages -
--dev
Update only Python development dependencies.
-
-
-
bench set-nginx-port [sitename] [port]
- Set site's port in Production
Development
-
bench new-app [app-name]
Creates a new app -
bench get-app [repo-link]
- Downloads an app from a git repository and installs it-
--branch [branch-name]
Fetches specific branch of app
-
-
bench install-app [app-name]
Installs existing app -
bench remove-from-installed-apps [app-name]
Remove app from the list of apps -
bench uninstall-app [app-name]
Delete app and everything linked to the app (Bench needs to be running) -
bench remove-app [app-name]
Remove app from the bench entirely -
bench --site [sitename] --force reinstall
Reinstall with fresh database (Caution: Will wipe out old database) -
bench new-site [sitename]
- Creates a new site-
--db-name
Database name -
--db-host
Custom database host URL for remote connection -
--db-port
Custom database listening port (eg. port other than the default 3306) -
--mariadb-root-username
Root username for MariaDB -
--mariadb-root-password
Root password for MariaDB -
--admin-password
Administrator password for new site -
--verbose
Verbose -
--force
Force restore if site/database already exists -
--source_sql
Initiate database with a SQL file -
--install-app
Install app after installation`
-
-
bench use [site]
Sets a default site -
bench drop-site
Removes site from disk and database completely-
--root-login
-
--root-password
-
-
bench set-config [key] [value]
Adds a key-value pair to site's config file -
bench console
Opens a IPython console in the bench venv-
--autoreload
Reload changes to code automatically
-
-
bench execute
Execute a method inside any app.-
Eg :
bench execute frappe.utils.scheduler.enqueue_scheduler_events
-
-
bench --site [sitename] mariadb
Opens SQL Console -
bench --site [sitename] export-fixtures [--app TEXT]
Export the records defined in the app's hooks as JSON files. -
bench run-tests
Run tests-
--app
App Name -
--doctype
DocType to run tests for -
--test
Specific Test -
--module
Run a particular module that has tests -
--profile
Runs a Python profiler on the test
-
-
bench disable-production
Disables production environment -
bench serve
Start a development web server on0.0.0.0
-
--port
Start the web server on a different port (default: 8000) -
--profile
Add a profiler middleware that prints exactly which backend methods get called, how often and how long it takes. -
--proxy
The development server may be run behind a proxy, e.g. ngrok / localtunnel -
--noreload
Disable automatic restarting of the server when files change. -
--nothreading
Disable handling of concurrent requests using threads. Can lead to unexpected behavior when multiple threads are required (for example during PDF generation). -
--with-coverage
Measure code coverage and create a reportcoverage.xml
in thesites/
folder. Also activates--noreload
and--nothreading
.
-
Scheduler
-
bench enable-scheduler
- Enables Scheduler that will run scheduled tasks -
bench doctor
- Get diagnostic info about background workers -
bench show-pending-jobs
- Get pending jobs -
bench purge-jobs
- Destroy all pending jobs
Data Import
-
bench data-import
- Imports Bulk Data from .csv, .xls or .xlsx-
--file
File Name -
--doctype
The DocType -
--type
Insert/Update
-