diff --git a/README.md b/README.md index 4df2b054..b6c51095 100755 --- a/README.md +++ b/README.md @@ -10,63 +10,50 @@ If you have questions, please ask them on our [forum](https://discuss.erpnext.co Installation ============ - - - - - - - - - - - - - - - - - - - - - - - - - -
Production SetupDevelopment Setup
Installs with master branchInstalls with develop branch
The Production setup uses Nginx, and uses Supervisor to manage processesThe development setup uses Honcho to manage processes (bench start)
This setup isn't meant for instant updates in code.Any code changes will be reflected instantly.
Background services handle all the work, and they start with the system.You need to explicitly start your server
Uses Celery for job queuing (Frappe 6)Uses RQ for job queuing (Frappe 7)
+Easy Setup +---------- -Easy Setup ---------------------- - This is an opinionated setup with logging and SE Linux. So, it is best to setup on a blank server. - Tested on Ubuntu 14.04 to 16.04, CentOS 7+, and MacOS X. If you find any problems, post them on our forum: [https://discuss.erpnext.com](https://discuss.erpnext.com) - This script will install the pre-requisites, install bench and setup an ERPNext site - Passwords for Frappe Administrator and MariaDB (root) will be asked - You can then login as **Administrator** with the Administrator password +Production vs Develop +--------------------- + +*Production* setup should be run on a new box and installs nginx and supervisor to manage the processes. *Develop* setup uses `honcho` to manage the processes and uses the built-in web server (`bench start`) + +Steps +----- + Open your Terminal and enter: -``` -# Linux: -wget https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py + # Linux: -# Mac OSX: -curl "https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py" -o install.py + wget https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py -# For development -sudo python install.py --develop + # Mac OSX: -# For production -sudo python install.py --production + # install X Code (from App store) + # install HomeBrew (http://brew.sh/) + brew install python + brew install git + curl "https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py" -o install.py + + # For development + sudo python install.py --develop + + # For production + sudo python install.py --production + + # If you're logged in as root, use --user flag to create a user and install using that user + sudo python install.py --develop --user frappe -# If you're logged in as root, use --user flag to create a user and install using that user -sudo python install.py --develop --user frappe -``` For development, you have to explicitly start services by running `bench start`. This script requires Python2.7+ installed on your machine. You will have to manually create a new site (`bench new-site`) and get apps that you need (`bench get-app`, `bench install-app`). -For production, you will have a preinstalled site with ERPNext installed in it. +For production, you will have a preinstalled site with ERPNext installed in it. You need to run this with a user that is **not** `root`, but can `sudo`. If you don't have such a user, you can search the web for *How to add a new user in { your OS }* and *How to add an existing user to sudoers in { your OS }*. @@ -83,7 +70,7 @@ This script will: - NodeJS - WKHTMLtoPDF with patched QT - Initializes a new Bench at `~/frappe/frappe-bench` with `frappe` framework already installed under `apps`. - + ####Script Options: ``` --help diff --git a/playbooks/develop/centos.yml b/playbooks/develop/centos.yml index 9b1febb6..c3ee6a9d 100644 --- a/playbooks/develop/centos.yml +++ b/playbooks/develop/centos.yml @@ -69,7 +69,8 @@ # setup frappe-bench - include: includes/setup_bench.yml + when: not run_travis and without_bench_setup # setup development environment - include: includes/setup_dev_env.yml - when: not production + when: not run_travis and not production diff --git a/playbooks/develop/ubuntu.yml b/playbooks/develop/ubuntu.yml index 594a432d..ef1ec2e5 100644 --- a/playbooks/develop/ubuntu.yml +++ b/playbooks/develop/ubuntu.yml @@ -93,7 +93,7 @@ # setup frappe-bench - include: includes/setup_bench.yml - when: not run_travis + when: not without_bench_setup and not run_travis # setup development environment - include: includes/setup_dev_env.yml diff --git a/playbooks/install.py b/playbooks/install.py index d337c7bb..f575bcf3 100755 --- a/playbooks/install.py +++ b/playbooks/install.py @@ -88,7 +88,7 @@ def install_bench(args): run_playbook('develop/create_user.yml', extra_vars=extra_vars) - extra_vars.update(get_passwords(args.run_travis)) + extra_vars.update(get_passwords(args.run_travis or args.without_bench_setup)) if args.production: extra_vars.update(max_worker_connections=multiprocessing.cpu_count() * 1024) @@ -176,8 +176,8 @@ def could_not_install(package): def is_sudo_user(): return os.geteuid() == 0 -def get_passwords(run_travis=False): - if not run_travis: +def get_passwords(ignore_prompt=False): + if not ignore_prompt: mysql_root_password, admin_password = '', '' pass_set = True while pass_set: @@ -265,6 +265,9 @@ def parse_commandline_args(): parser.add_argument('--run-travis', dest='run_travis', action='store_true', default=False, help=argparse.SUPPRESS) + parser.add_argument('--without-bench-setup', dest='without_bench_setup', action='store_true', default=False, + help=argparse.SUPPRESS) + args = parser.parse_args() return args