2
0
mirror of https://github.com/frappe/bench.git synced 2024-11-13 08:46:30 +00:00

updated readme

This commit is contained in:
Ameya Shenoy 2018-04-11 10:40:06 +05:30
parent 7e0b48bbdb
commit d3cd3abf90
No known key found for this signature in database
GPG Key ID: 735490161CD5C91E
3 changed files with 29 additions and 40 deletions

View File

@ -1,3 +1,4 @@
<div align="center">
<img src="https://github.com/frappe/design/blob/master/logos/bench-logo.svg" height="128">
<h2>Frappe Bench</h2>
@ -15,19 +16,33 @@ If you have questions, please ask them on the [forum](https://discuss.erpnext.co
## Installation
## Manual Install
### Installation Requirements
To manually install frappe/erpnext here are the steps
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](https://github.com/frappe/bench/wiki/Install-ERPNext-on-ArchLinux) can also be used
- Mac OS X
### Manual Install
To manually install frappe/erpnext, you can follow this [this wiki](https://github.com/frappe/frappe/wiki/The-Hitchhiker's-Guide-to-Installing-Frapp%C3%A9-on-Linux-OS) for Linux and [this wiki](https://github.com/frappe/frappe/wiki/The-Hitchhiker's-Guide-to-Installing-Frapp%C3%A9-on-Mac-OS-X) for MacOS. It gives an excellent explanation about the stack. You can also follow the steps mentioned below:
#### 1. Install Pre-requisites
- Python 2.7
- 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 with patched Qt (for pdf generation)
- wkhtmltopdf with patched Qt (version 0.12.3) (for pdf generation)
#### 2. Install Bench
@ -100,16 +115,6 @@ For Linux:
wget https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py
For Mac OSX:
Install X Code (from App store) and HomeBrew (http://brew.sh/) first
brew install python
brew install git
Download the Script
curl "https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py" -o install.py
#### 2. Run the install script

View File

@ -5,16 +5,6 @@
- Ubuntu 14.04, 16.04
- CentOS 7
## Directory Structure
TODO
## Notes for maintainers
- For MariaDB playbooks refer https://github.com/PCextreme/ansible-role-mariadb
- Any changes made in relation to a role should be dont inside the role and not outside it
# TODO:
1. Planned Platform
- Arch Linux
- Fedora
- RedHat
2. Consider reffering to https://github.com/geerlingguy/ansible-role-mysql.git for MariaDB playbook

View File

@ -1,18 +1,18 @@
### ERPNext VM Builder
## ERPNext VM Builder
#### Steps to build a VM Image
### Steps to build a VM Image
* `python build.py` builds a new VM
* `python build.py` builds a new Production VM, a Dev VM and a Dev Vagrant Box
#### Requirements
### Requirements
* Bench should be installed.
* Bench should be installed
* Ansible should be installed
#### How it works
### How it works
Apart from the above the rest is handled by bench:
@ -21,23 +21,17 @@ Apart from the above the rest is handled by bench:
- packer
* Cleanup
- Clean the required directories
* Generate the erpnext_develop.json and the erpnext_production.json
- Figure out the latest ubuntu iso available, get it's link and the checksum and generate the json files
* Build the VM using packer
- Packer downloads the mentioned Ubuntu iso, boots a virtual machine and preceeds the preseed.cfg file into it in order to setup a clean Ubuntu OS
- Then packer uses ssh to enter the virtual machine to execute the required commands
- `scripts/debian_family/install_ansible.sh` sets up ansible on the vm.
- Depending on the VM being built, the `install_erpnext_develop.sh` or the `install_erpnext_production.sh` is executed
- Depending on the VM being built, the `vm-develop.json` or the `vm-production.json` is used
- `scripts/set_message.sh` sets welcome message (with update instructions) in the vm.
- `scripts/cleanup.sh` writes zero to all the free space in the disk, it shrinks the disk image
- `scripts/cleanup.sh` writes zeros to all the free space in the disk, it shrinks the disk image
* Set the correct permissions for the built Vagrant and Virtual Appliance Images
* Cleanup
- Delete the generated files from the required directories
* restart nginx
The requirements for this to run are Packer and Virtualbox. imports the base image in a virtual machine and boots it. It runs the following
* Restart nginx
#### For a build server
Running the `build.py` script builds a vm and puts it in `~/public`. It also writes a `latest.json` file in `~/public` with filename of the latest build and its md5sum.
Running the `build.py` script builds the VMs and puts them in `~/Public`. It also creates the md5 hashes for the same, and puts them in the same folder.