Continued discussion from ERPNext Docker Image as an alternative to Official ERPNext Docker Repo
There is docker environment for development with bench. Refer this README
People from community are using it for quickly bootstrapping development setup.
One such attempt, Chinmay started with a production installation script called frappe-installer.
Makefile or shell script I don’t mind anything. I hope it’ll only help new comers.
Experts can already use and understand things with or without any abstraction.
Just be careful of adding complexity, may make it difficult for new users to report underlying errors.
As I said before, for development environment
bench command is used. Today we even got a PR that allows one environment to host 5 benches.
Reasons for not using bench in production docker:
- Immutability. All state is in database and volumes only. Adding custom app to container on the fly is not desirable in production because it creates state in container which will be lost.
- bench image itself adds 1GB of dependencies. Frappe+ERPNext adds ~1.4GB more.
- bench does a lot of development tooling as well.
- Each command added as script is auto-tested daily. Ensures stability on production.