Extending ERPNext functionality with custom app

Frappé and ERPNext seem like a great foundation for extending company processes with already build in apps but also for additional custom apps that should be able to hook into existing functionality and data. My question now is, what would be the preferred way of setting a production-ready environment and a development environment? I think I’ve read through all the documentation by now, full installation, VM installation, and docker installation, but it’s still not clear to me.

  • The full installation seems to be very environment polluting;
  • the VM version seems to be running on ubuntu 14.04 that is currently on extended security maintenance (for me that means out-dated);
  • and, the docker installation seems to be very extensive but doesn’t make it clear which installation method to choose, and how to continue from there.

If someone from the dev team could make this clear to me I’m up for some collaboration while developing my own thing on top of the system.


  1. What’s a conventional production environment?
  2. What’s a conventional development environment?
  3. How do migrations work between the two without data loss?
  4. How does custom app development work between development and production environments?
1 Like

About docker

Production Deployment.

  • Read More
  • Immutable Images for released versions
  • One container one process.
  • Frappe and ERPNext images available
  • README includes how to build Custom App Images (on your separate repo)
  • Once you have production images you can use them on orchestrator or run locally with docker-compose

Development Image

  • Read More
  • frappe/bench image, includes everything required for development of Frappe/ERPNext v11 onwards
  • same container serves socketio, python server for easy development
  • mounts directory under container to create frappe-bench(s) - The python / js development environment
  • Separate containers for mariadb and redis processes
  • Once the development environment is ready you can follow custom app development tutorials
  • VS Code devcontainer Recommended.