From 4d45ade05b128a9e168dbd28743ab715ab37a260 Mon Sep 17 00:00:00 2001 From: Valmik Jangla Date: Tue, 26 Apr 2016 18:51:48 +0530 Subject: [PATCH] Added Bench Documentation --- frappe/docs/assets/img/social-logins-1.jpg | Bin 0 -> 17900 bytes .../guides}/configuring-https.md | 0 .../bench/guides/diagnosing-the-scheduler.md | 59 +++++++++++++ .../how-to-change-host-name-from-localhost.md | 0 frappe/docs/user/en/bench/guides/index.md | 1 + frappe/docs/user/en/bench/guides/index.txt | 9 ++ .../docs/user/en/bench/guides/manual-setup.md | 79 ++++++++++++++++++ .../en/bench/guides/setup-multitenancy.md | 56 +++++++++++++ .../user/en/bench/guides/setup-production.md | 56 +++++++++++++ .../stop-production-and-start-development.md | 20 +++++ frappe/docs/user/en/bench/index.md | 1 + frappe/docs/user/en/bench/index.txt | 1 + .../en/bench/resources/background-services.md | 30 +++++++ .../resources/bench-commands-cheatsheet.md | 74 ++++++++++++++++ .../user/en/bench/resources/bench-procfile.md | 28 +++++++ frappe/docs/user/en/bench/resources/index.md | 1 + frappe/docs/user/en/bench/resources/index.txt | 3 + .../deployment/checking-problems-in-bench.md | 15 ---- ...otifications-for-failed-background-jobs.md | 2 +- .../deployment/how-to-enable-social-logins.md | 2 +- .../docs/user/en/guides/deployment/index.txt | 3 - frappe/docs/user/en/index.txt | 1 + frappe/public/js/lib/highlight.pack.js | 0 23 files changed, 421 insertions(+), 20 deletions(-) create mode 100755 frappe/docs/assets/img/social-logins-1.jpg rename frappe/docs/user/en/{guides/deployment => bench/guides}/configuring-https.md (100%) create mode 100755 frappe/docs/user/en/bench/guides/diagnosing-the-scheduler.md rename frappe/docs/user/en/{guides/deployment => bench/guides}/how-to-change-host-name-from-localhost.md (100%) create mode 100644 frappe/docs/user/en/bench/guides/index.md create mode 100755 frappe/docs/user/en/bench/guides/index.txt create mode 100755 frappe/docs/user/en/bench/guides/manual-setup.md create mode 100755 frappe/docs/user/en/bench/guides/setup-multitenancy.md create mode 100644 frappe/docs/user/en/bench/guides/setup-production.md create mode 100644 frappe/docs/user/en/bench/guides/stop-production-and-start-development.md create mode 100644 frappe/docs/user/en/bench/index.md create mode 100644 frappe/docs/user/en/bench/index.txt create mode 100755 frappe/docs/user/en/bench/resources/background-services.md create mode 100644 frappe/docs/user/en/bench/resources/bench-commands-cheatsheet.md create mode 100755 frappe/docs/user/en/bench/resources/bench-procfile.md create mode 100644 frappe/docs/user/en/bench/resources/index.md create mode 100644 frappe/docs/user/en/bench/resources/index.txt delete mode 100755 frappe/docs/user/en/guides/deployment/checking-problems-in-bench.md mode change 100644 => 100755 frappe/public/js/lib/highlight.pack.js diff --git a/frappe/docs/assets/img/social-logins-1.jpg b/frappe/docs/assets/img/social-logins-1.jpg new file mode 100755 index 0000000000000000000000000000000000000000..3c3471e90754ef0f4caebec567544b9c28d2c8f6 GIT binary patch literal 17900 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 QPyaJ + +If you're experiencing delays in scheduled jobs or they don't seem to run, you can run the several commands to diagnose the issue. + +### `bench doctor` + +This will output the following in order: +- Worker Status +- Scheduler Status per site +- Pending Tasks +- Timed out locks + +Desirable output: + + Workers online: True + Pending tasks 0 + Timed out locks: + + +### `bench celery-doctor` + +This will output the following in order: +- Queue Status +- Running Tasks + +Desirable output: + + Queue Status + ------------ + [ + { + "total": 0 + } + ] + + Running Tasks + ------------ + { + "async@erpnext": [], + "longjobs@erpnext": [], + "jobs@erpnext": [] + } + + +### `bench dump-queue-status` + +This will output detailed diagnostic information for task queues in JSON + +Desirable output: + + + [ + { + "total": 0 + } + ] + Pending Tasks Queue + -------------------- + diff --git a/frappe/docs/user/en/guides/deployment/how-to-change-host-name-from-localhost.md b/frappe/docs/user/en/bench/guides/how-to-change-host-name-from-localhost.md similarity index 100% rename from frappe/docs/user/en/guides/deployment/how-to-change-host-name-from-localhost.md rename to frappe/docs/user/en/bench/guides/how-to-change-host-name-from-localhost.md diff --git a/frappe/docs/user/en/bench/guides/index.md b/frappe/docs/user/en/bench/guides/index.md new file mode 100644 index 0000000000..0dff60b400 --- /dev/null +++ b/frappe/docs/user/en/bench/guides/index.md @@ -0,0 +1 @@ +{index} \ No newline at end of file diff --git a/frappe/docs/user/en/bench/guides/index.txt b/frappe/docs/user/en/bench/guides/index.txt new file mode 100755 index 0000000000..3dcc68fc9b --- /dev/null +++ b/frappe/docs/user/en/bench/guides/index.txt @@ -0,0 +1,9 @@ +configuring-https +diagnosing-the-scheduler +how-to-change-host-name-from-localhost +manual-setup +setup-multitenancy +setup-production +setup-ssl +stop-production-and-start-development +updating \ No newline at end of file diff --git a/frappe/docs/user/en/bench/guides/manual-setup.md b/frappe/docs/user/en/bench/guides/manual-setup.md new file mode 100755 index 0000000000..a0c55f374f --- /dev/null +++ b/frappe/docs/user/en/bench/guides/manual-setup.md @@ -0,0 +1,79 @@ +Manual Setup +-------------- + +Install pre-requisites, + +* [Python 2.7](https://www.python.org/download/releases/2.7/) +* [MariaDB](https://mariadb.org/) +* [Redis](http://redis.io/topics/quickstart) +* [WKHTMLtoPDF with patched QT](http://wkhtmltopdf.org/downloads.html) (required for pdf generation) + +[Installing pre-requisites on OSX](https://github.com/frappe/bench/wiki/Installing-Bench-Pre-requisites-on-MacOSX) + +Install bench as a *non root* user, + + git clone https://github.com/frappe/bench bench-repo + sudo pip install -e bench-repo + +Note: Please do not remove the bench directory the above commands will create + + +Migrating from existing installation +------------------------------------ + +If want to migrate from ERPNext version 3, follow the instructions [here](https://github.com/frappe/bench/wiki/Migrating-from-ERPNext-version-3) + +If want to migrate from the old bench, follow the instructions [here](https://github.com/frappe/bench/wiki/Migrating-from-old-bench) + + +Basic Usage +=========== + +* Create a new bench + + The init command will create a bench directory with frappe framework + installed. It will be setup for periodic backups and auto updates once + a day. + + bench init frappe-bench && cd frappe-bench + +* Add apps + + The get-app command gets and installs frappe apps. Examples: + + - [erpnext](https://github.com/frappe/erpnext) + - [erpnext_shopify](https://github.com/frappe/erpnext_shopify) + - [paypal_integration](https://github.com/frappe/paypal_integration) + + bench get-app erpnext https://github.com/frappe/erpnext + +* Add site + + Frappe apps are run by frappe sites and you will have to create at least one + site. The new-site command allows you to do that. + + bench new-site site1.local + +* Start bench + + To start using the bench, use the `bench start` command + + bench start + + To login to Frappe / ERPNext, open your browser and go to `localhost:8000` + + The default user name is "Administrator" and password is what you set when you created the new site. + + +Setting Up ERPNext +================== + +To install ERPNext, simply run: +``` +bench install-app erpnext +``` + +You can now either use `bench start` or [setup the bench for production use](setup-production.html) + + + diff --git a/frappe/docs/user/en/bench/guides/setup-multitenancy.md b/frappe/docs/user/en/bench/guides/setup-multitenancy.md new file mode 100755 index 0000000000..f92d45c95b --- /dev/null +++ b/frappe/docs/user/en/bench/guides/setup-multitenancy.md @@ -0,0 +1,56 @@ +Assuming that you've already got your first site running and you've performed +the [production deployment steps](production-setup.html), this section explains how to host your second +site (and more). Your first site is automatically set as default site. You can +change it with the command, + + bench use sitename + + + + +Port based multitenancy +----------------------- + +DNS based multitenancy mode is enabled by default, switch it off using the command +``` + bench config dns_multitenant off +``` + +You can create a new site and make run it on a different port (while the first +one runs on port 80). + +* Create a new site + + `bench new-site site2name` + +* Set port + + `bench set-nginx-port site2name 82` + +* Re generate nginx config + + `bench setup nginx` + +* Reload nginx + + `sudo service nginx reload` + + +DNS based multitenancy +---------------------- + +You can name your sites as the hostnames that would resolve to it. Thus, all the sites you add to the bench would run on the same port and will be automatically selected based on the hostname. + +To make a new site under DNS based multitenancy, perform the following steps. + +* Create a new site + + `bench new-site site2name` + +* Re generate nginx config + + `bench setup nginx` + +* Reload nginx + + `sudo service nginx reload` \ No newline at end of file diff --git a/frappe/docs/user/en/bench/guides/setup-production.md b/frappe/docs/user/en/bench/guides/setup-production.md new file mode 100644 index 0000000000..1567cafa13 --- /dev/null +++ b/frappe/docs/user/en/bench/guides/setup-production.md @@ -0,0 +1,56 @@ +You can setup the bench for production use by configuring two programs, Supervisor and nginx. If you want to revert your Production Setup to Development Setup refer to [these commands](https://github.com/frappe/bench/wiki/Stopping-Production-and-starting-Development) + +####Easy Production Setup +These steps are automated if you pass `--setup-production` to the easy install script +or run `sudo bench setup production` + + +####Manual Production Setup +Supervisor +---------- + +Supervisor makes sure that the process that power the Frappe system keep running +and it restarts them if they happen to crash. You can generate the required +configuration for supervisor using the command `bench setup supervisor`. The +configuration will be available in `config/supervisor.conf` directory. You can +then copy/link this file to the supervisor config directory and reload it for it to +take effect. + +eg, + +``` +bench setup supervisor +sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf +``` + +Note: For CentOS 7, the extension should be `ini`, thus the command becomes +``` +bench setup supervisor +sudo ln -s `pwd`/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.ini #for CentOS 7 only +``` + +The bench will also need to restart the processes managed by supervisor when you +update the apps. To automate this, you will have to setup sudoers using the +command, `sudo bench setup sudoers $(whoami)`. + +Nginx +----- + +Nginx is a web server and we use it to serve static files and proxy rest of the +requests to frappe. You can generate the required configuration for nginx using +the command `bench setup nginx`. The configuration will be available in +`config/nginx.conf` file. You can then copy/link this file to the nginx config +directory and reload it for it to take effect. + +eg, + +``` +bench setup nginx +sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf +``` + +Note: When you restart nginx after the configuration change, it might fail if +you have another configuration with server block as default for port 80 (in most +cases for the nginx welcome page). You will have to disable this config. Most +probable places for it to exist are `/etc/nginx/conf.d/default.conf` and +`/etc/nginx/conf.d/default`. \ No newline at end of file diff --git a/frappe/docs/user/en/bench/guides/stop-production-and-start-development.md b/frappe/docs/user/en/bench/guides/stop-production-and-start-development.md new file mode 100644 index 0000000000..7a27ad70f2 --- /dev/null +++ b/frappe/docs/user/en/bench/guides/stop-production-and-start-development.md @@ -0,0 +1,20 @@ +Moving back to a Development setup is pretty easy + +Change directory to your bench directory + + cd frappe-bench + +Remove supervisor and nginx configs + + rm config/supervisor.conf + rm config/nginx.conf + +Stop running services + + sudo service nginx stop + sudo service supervisord stop + +Setup procfile again and start bench + + bench setup procfile + bench start diff --git a/frappe/docs/user/en/bench/index.md b/frappe/docs/user/en/bench/index.md new file mode 100644 index 0000000000..0dff60b400 --- /dev/null +++ b/frappe/docs/user/en/bench/index.md @@ -0,0 +1 @@ +{index} \ No newline at end of file diff --git a/frappe/docs/user/en/bench/index.txt b/frappe/docs/user/en/bench/index.txt new file mode 100644 index 0000000000..97c835454b --- /dev/null +++ b/frappe/docs/user/en/bench/index.txt @@ -0,0 +1 @@ +guides \ No newline at end of file diff --git a/frappe/docs/user/en/bench/resources/background-services.md b/frappe/docs/user/en/bench/resources/background-services.md new file mode 100755 index 0000000000..a4fe1c4702 --- /dev/null +++ b/frappe/docs/user/en/bench/resources/background-services.md @@ -0,0 +1,30 @@ +External services +----------------- + + * MariaDB (Datastore for frappe) + * Redis (Queue for frappe background workers and caching) + * nginx (for production deployment) + * supervisor (for production deployment) + +Frappe Processes +---------------- + + +* WSGI Server + + * The WSGI server is responsible for responding to the HTTP requests to + frappe. In development scenario (`bench serve` or `bench start`), the + Werkzeug WSGI server is used and in production, gunicorn (automatically + configured in supervisor) is used. + +* Celery Worker Processes + + * The Celery worker processes execute background jobs in the Frappe system. + These processes are automatically started when `bench start` is run and + for production are configured in supervisor configuration. + +* Celery Worker Beat Process + + * The Celery worker beat process schedules enqeueing of scheduled jobs in the + Frappe system. This process is automatically started when `bench start` is + run and for production are configured in supervisor configuration. \ No newline at end of file diff --git a/frappe/docs/user/en/bench/resources/bench-commands-cheatsheet.md b/frappe/docs/user/en/bench/resources/bench-commands-cheatsheet.md new file mode 100644 index 0000000000..c305a410ce --- /dev/null +++ b/frappe/docs/user/en/bench/resources/bench-commands-cheatsheet.md @@ -0,0 +1,74 @@ +### General Usage +* `bench --help` - Show all commands and help +* `bench [command] --help` - Show help for command +* `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 + * `--upgrade` Does major upgrade (Eg. ERPNext 6 -> 7) + * `--no-backup` Don't take a backup before update +* `bench migrate` Will read JSON files and make changes to the database accordingly + +###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 + + +###Development +* `bench new-app [app-name]` Creates a new app +* `bench get-app [app-name] [repo-link]` - Downloads an app from an online git repository and installs it +* `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 new-site [sitename]` - Creates a new site + * `--db-name` Database name + * `--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 console` - Opens a IPython console in the bench venv +* `bench execute` - Execute a method inside any app. + * Eg : `bench execute frappe.utils.scheduler.enqueue_scheduler_events` +* `bench mysql` - Opens SQL Console +* `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 + + + +###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 \ No newline at end of file diff --git a/frappe/docs/user/en/bench/resources/bench-procfile.md b/frappe/docs/user/en/bench/resources/bench-procfile.md new file mode 100755 index 0000000000..196240556f --- /dev/null +++ b/frappe/docs/user/en/bench/resources/bench-procfile.md @@ -0,0 +1,28 @@ +`bench start` uses [honcho](http://honcho.readthedocs.org) to manage multiple processes in **developer mode**. + +### Processes + +The various process that are needed to run frappe are: + +1. `bench start` - the web server +2. celery task queue for background workers (scheduled jobs and other async tasks) +3. celery worker beat to trigger periodic tasks +4. `redis` for caching (general) +5. `redis` for managing queue for background workers +6. `redis` as a message broker for real-time updates / updates from background workers +7. `node` to run `socketio` for real-time messaging. + +Optionally if you are developing for frappe you can add: + +`bench watch` to automatically build the desk javascript app. + +### Sample + + web: bench --site test.erpnext.com serve --port 8001 + redis_async_broker: redis-server config/redis_async_broker.conf + socketio: node apps/frappe/socketio.js + workerbeat: sh -c 'cd sites && exec ../env/bin/python -m frappe.celery_app beat -s scheduler.schedule' + worker: sh -c 'cd sites && exec ../env/bin/python -m frappe.celery_app worker' + redis_cache: redis-server config/redis_cache.conf + redis: redis-server + watch: bench watch \ No newline at end of file diff --git a/frappe/docs/user/en/bench/resources/index.md b/frappe/docs/user/en/bench/resources/index.md new file mode 100644 index 0000000000..0dff60b400 --- /dev/null +++ b/frappe/docs/user/en/bench/resources/index.md @@ -0,0 +1 @@ +{index} \ No newline at end of file diff --git a/frappe/docs/user/en/bench/resources/index.txt b/frappe/docs/user/en/bench/resources/index.txt new file mode 100644 index 0000000000..4674526df6 --- /dev/null +++ b/frappe/docs/user/en/bench/resources/index.txt @@ -0,0 +1,3 @@ +background-services +bench-commands-cheatsheet +bench-procfile \ No newline at end of file diff --git a/frappe/docs/user/en/guides/deployment/checking-problems-in-bench.md b/frappe/docs/user/en/guides/deployment/checking-problems-in-bench.md deleted file mode 100755 index 05fcd3d879..0000000000 --- a/frappe/docs/user/en/guides/deployment/checking-problems-in-bench.md +++ /dev/null @@ -1,15 +0,0 @@ - - -If you're experiencing delays in scheduled jobs or they don't seem to run, you run run the following command to diagnose the issue. - -`bench doctor` - -A desirable output is like below - - - Workers online: True - Pending tasks 0 - Timed out locks: - - -We'll be adding more health checks soon. diff --git a/frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md b/frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md index 3c582762ec..03f57eb410 100755 --- a/frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md +++ b/frappe/docs/user/en/guides/deployment/email-notifications-for-failed-background-jobs.md @@ -1,4 +1,4 @@ - +

Frappe handles failure of jobs in the following way,

1) If a job fails, (raises exception), it's logged in Scheduler Log and  logs/worker.error.log.
2) Keeps a lock file and would not run anymore if lock file is there.
3) Raises LockTimeoutError in case the lock file is more than 10 minutes old.

diff --git a/frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md b/frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md index 847cf78ea3..ab9afa39cc 100755 --- a/frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md +++ b/frappe/docs/user/en/guides/deployment/how-to-enable-social-logins.md @@ -3,7 +3,7 @@ Use Facebook, Google or GitHub authentication to login to Frappe, and your users The system uses the **Email ID** supplied by these services to **match with an existing user** in Frappe. If no such user is found, **a new user is created** of the default type **Website User**, if Signup is not disabled in Website Settings. Any System Manager can later change the user type from **Website User** to **System User**, so that the user can access the Desktop.
- Login screen with Social Logins enabled
Login screen with Social Logins enabled
diff --git a/frappe/docs/user/en/guides/deployment/index.txt b/frappe/docs/user/en/guides/deployment/index.txt index bf719dcf09..7d11bf514a 100755 --- a/frappe/docs/user/en/guides/deployment/index.txt +++ b/frappe/docs/user/en/guides/deployment/index.txt @@ -1,7 +1,4 @@ migrations how-to-migrate-doctype-changes-to-production -how-to-change-host-name-from-localhost -configuring-https -checking-problems-in-bench email-notifications-for-failed-background-jobs how-to-enable-social-logins diff --git a/frappe/docs/user/en/index.txt b/frappe/docs/user/en/index.txt index 1e50854610..85c302b8cf 100755 --- a/frappe/docs/user/en/index.txt +++ b/frappe/docs/user/en/index.txt @@ -1,3 +1,4 @@ tutorial +bench guides videos diff --git a/frappe/public/js/lib/highlight.pack.js b/frappe/public/js/lib/highlight.pack.js old mode 100644 new mode 100755