Hi Folks,
We have been working on revamping the Easy Install Script for some time now and the first iteration on the rework is here!
The new Easy Install is here . You can check it out on the Bench Repository
What does it do?
The previous easy install has helped a lot of folks but had a lot of moving parts. It used Ansible play-books to setup the system and configure everything. While it was easy to setup everything ,it was not easy to maintain since many new distributions required changes in the play-books and was becoming more and more tedious.
The new one uses Docker for setting everything up, and the script mainly runs using Python Stdlib, which means you won’t need to add any extra pip dependencies to make the script run. You can use the easy install script to setup a production instance as well as development instance.
The only hard dependency of the script is to have docker installed. The script tries to install docker on Linux machines but if you use a mac or windows machine, install docker first and
The script uses frappe_docker repo and make use of the compose file generation to setup a production instance. It uses the devcontainer compose file to spin up a development environment for frappe/ERPNext development.
One thing to bear in mind is that the script installs ERPNext as default and if you want to have a Frappe only instance, you can edit the generated compose file to suit your needs.
What OS are supported?
In theory the easy install script can run on any OS which is docker compatible and can spin up containers as required. Currently it has been tested on Ubuntu 18, Ubuntu 20 and Alpine using Docker inside Docker(dind).
Known Issues
Most common issues are due to permission errors for docker.
- Cannot connect to docker daemon socket
If you face this issue, refer this to fix the issue and rerun the script again
You can checkout more on the Bench README and you can find the code here
It would be great if you could try the script out and provide us with feedback and if you face any errors feel free to raise an issue in bench repository.
Special thanks to @revant_one for all the clearing all my docker related queries and for all the contributions to frappe_docker repository and the ERPNext ecosystem too.
Consider this as the first iteration of the script and many more features will be added in the future including backups, updates and a Frappe only setup.