Use easy-install.py to build custom container images

easy-install.py is used to install ERPNext on a single VM. Users had to build image with custom apps separately. Although it is documented here frappe_docker/docs/custom-apps.md at main · frappe/frappe_docker · GitHub, it is not part of any script.

This PR adds build command to easy-install.py: feat: easy-install.py to build custom images by revant · Pull Request #1592 · frappe/bench · GitHub

To test it:

  1. Download the easy install (if PR is not merged, use my fork to download the script)
# wget https://raw.githubusercontent.com/frappe/bench/refs/heads/develop/easy-install.py
wget https://raw.githubusercontent.com/revant/bench/refs/heads/easy-build/easy-install.py
  1. Prepare the apps.json, create your own or download my apps.json.
# nano apps.json
wget https://gitlab.com/castlecraft/cepl-erpnext-images/-/raw/main/apps.json
  1. Build image
python3 easy-install.py build --apps-json=apps.json --tag custom-apps:v202410291200

Command loads apps.json and tags the image as custom-apps:v202410291200

  1. Deploy as docker compose project build_test
python3 easy-install.py -p -n build_test --email test@frappe.io --image custom-apps --version v202410291200 --app erpnext --app hrms --app india_compliance --app wiki --app payments --app webshop

This will create a site and install apps specified.

5 Likes

Updated readme bench/README.md at easy-build · revant/bench · GitHub

  • build and deploy or migrate in one command
  • exec into project setup
  • upgrade existing setup