- Notifications
You must be signed in to change notification settings - Fork0
Multi-tenant platform to install and manage Frappe / ERPNext
License
barredterra/bench
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The bench is a command-line utility that helps you to install apps, manage multiple sites and update Frappe / ERPNext apps on */nix (CentOS, Debian, Ubuntu, etc) for development and production. Bench will also create nginx and supervisor config files, setup backups and much more.
If you are using on a VPS make sure it has >= 1Gb of RAM or has swap setup properly.
To do this install, you must have basic information on how Linux works and should be able to use the command-line. If you are looking easier ways to get started and evaluate ERPNext,download the Virtual Machine or takea free trial on erpnext.com.
If you have questions, please ask them on theforum.
You will need a computer/server. Options include:
- A Normal Computer/VPS/Baremetal Server: This is strongly recommended. Frappe/ERPNext installs properly and works well on these
- A Raspberry Pi, SAN Appliance, Network Router, Gaming Console, etc.: Although you may be able to install Frappe/ERPNext on specialized hardware, it is unlikely to work well and will be difficult for us to support. Strongly consider using a normal computer/VPS/baremetal server instead.We do not support specialized hardware.
- A Toaster, Car, Firearm, Thermostat, etc.: Yes, many modern devices now have embedded computing capability. We live in interesting times. However, you should not install Frappe/ERPNext on these devices. Instead, install it on a normal computer/VPS/baremetal server.We do not support installing on noncomputing devices.
To install the Frappe/ERPNext server software, you will need an operating system on your normal computer which is not Windows. Note that the command line interface does work on Windows, and you can use Frappe/ERPNext from any operating system with a web browser. However, the server software does not run on Windows. It does run on other operating systems, so choose one of these instead:
- Linux: Debian, Ubuntu, CentOS are the preferred distros and are well tested.Arch Linux can also be used
- Mac OS X
To manually install frappe/erpnext, you can follow thisthis wiki for Linux andthis wiki for MacOS. It gives an excellent explanation about the stack. You can also follow the steps mentioned below:
- Python 2.7 [Python3.5+ also supported, but not recommended for production]
- MariaDB 10+
- Nginx (for production)
- Nodejs
- yarn
- Redis
- cron (crontab is required)
- wkhtmltopdf (version 0.12.5) (for pdf generation)
Install bench as anon root user,
git clone https://github.com/frappe/bench bench-repopip install --user -e bench-repo
Note: Please do not remove the bench directory the above commands will create
Create a new bench
The init command will create a bench directory with frappe frameworkinstalled. It will be setup for periodic backups and auto updates oncea day.
bench init frappe-bench && cd frappe-bench
Add a site
Frappe apps are run by frappe sites and you will have to create at least onesite. The new-site command allows you to do that.
bench new-site site1.local
Add apps
The get-app command gets remote frappe apps from a remote git repository and installs them. Example:erpnext
bench get-app erpnext https://github.com/frappe/erpnext
Install apps
To install an app on your new site, use the bench
install-app
command.bench --site site1.local install-app erpnext
Start bench
To start using the bench, use the
bench start
commandbench start
To login to Frappe / ERPNext, open your browser and go to
[your-external-ip]:8000
, probablylocalhost:8000
The default username is "Administrator" and password is what you set when you created the new site.
- This is an opinionated setup so it is best to setup on a blank server.
- Works on Ubuntu 16.04+, CentOS 7+, Debian 8+
- You may have to install Python 2.7 (eg on Ubuntu 16.04+) by running
apt-get install python-minimal
- You may also have to install build-essential and python-setuptools by running
apt-get install build-essential python-setuptools
- This script will install the pre-requisites, install bench and setup an ERPNext site
- Passwords for Frappe Administrator and MariaDB (root) will be asked
- MariaDB (root) password may be
password
on a fresh server - You can then login asAdministrator with the Administrator password
- If you find any problems, post them on the forum:https://discuss.erpnext.com
Open your Terminal and enter:
For Linux:
wget https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py
If you are on a fresh server and logged in as root, use --user flag to create a user and install using that user
python install.py --develop --user frappe
For developer setup:
sudo python install.py --develop
For production:
sudo python install.py --production --user frappe
- Install all the pre-requisites
- Install the command line
bench
- Create a new bench (a folder that will contain your entire frappe/erpnext setup)
- Create a new ERPNext site on the bench
- For development: Go to your bench folder (
frappe-bench
by default) and start the bench withbench start
- For production: Your process will be setup and managed by
nginx
andsupervisor
.Setup Production
Bench Manager is a graphical user interface to emulate the functionalities of Frappé Bench. Like the command line utility it helps you install apps, manage multiple sites, update apps and much more.
$ bench setup manager
What all it does:
- Create new site bench-manager.local
- Gets the
bench_manager
app fromhttps://github.com/frappe/bench_manager if it doesn't exist already - Installs the bench_manager app on the site bench-manager.local
- For developer setup, you can also use the officialFrappé Docker.
- The app, mariadb and redis run on individual containers
- This setup supports multi-tenancy and exposes the frappe-bench volume as a external storage.
- For more details,read the instructions on the Frappé Docker README
For bench help, you can type
bench --help
To manually update the bench, runbench update
to update all the apps, runpatches, build JS and CSS files and restart supervisor (if configured to).
You can also run the parts of the bench selectively.
bench update --pull
will only pull changes in the apps
bench update --patch
will only run database migrations in the apps
bench update --build
will only build JS and CSS files for the bench
bench update --bench
will only update the bench utility (this project)
bench update --requirements
will only update dependencies (python packages) for the apps installed
About
Multi-tenant platform to install and manage Frappe / ERPNext
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- Python93.5%
- HTML2.8%
- Shell2.1%
- Ruby1.6%