Share your development setup. Here is mine

Let’s see:

  • Windows PC (Don’t judge ok)
  • Ubuntu VM, which I used the script to install everything
  • Three separate benches with different code and sites (it gets crazy)
  • Networking is set as bridged, and I basically just do everything via SSH and SMB
  • Sublime Text 3 that accesses the folders which have code in
  • Chrome for debugging

Oh and did I mention I have three nice monitors? :sunglasses:



I use a Ubuntu 14.04

  • Bench installed locally via apt-get
  • Pycharm IDE
  • Chrome + FF for debugging
  • Use Google Platform for testing and production
  • Used Jenkin Continuous Integration

I use a MacBook Pro

  • Vagrant + Virtualbox for development
  • Qemu + TinyCore Linux + Salad to Local CI
  • Atom IDE
  • Chrome / Safari to debugging
  • pdb or Error Snapshot to better Debugging

I use an iMac:

  • Vagrant + Generated Vagrant Box from Official Dev Virtual Box Image.
  • Vagrant Box Mapped port 8000 to 8080 and shared Vagrant volume
  • ITerm2
  • VIM(Always available on any server I setup, no fuzz)
  • I use github with our apps so installing into fresh dev vms is quick.
  • Chrome/Firefox for debugging
  • Dockerized Jenkins Server on Linode
  • ERPNext Dev Jenkins Slave on Linode as well

Cloud everything:

  • 2gb ram Digitalocean droplet - 14.04 Ubuntu for production
  • 1gb ram Digitalocean droplet - 14.04 Ubuntu for development
  • SSH with free account

Usually find me on a Windows 10 machine running Firefox


I am new to both erp and ErpNext and use Centos 7 VMM (not VirtualBox manager) to run ErpNext VM. Two setup notes that may help:

  1. To convert VirtualBox .ova to run on qemu-kvm
    [clarkej@tango ERP]$ tar xvf ERPNext-190416.ova
    $ qemu-img convert -O qcow2 ERPNext-190416-disk1.vmdk ERPNext-190416.qcow2

inspect .ovf for machine config for eg. mem + cpu

  1. Bridged Network aka ‘shared physical device’ and not NAT-based virtual network default
    see adamw’s notes Bridged networking for libvirt with NetworkManager: 2014 / Fedora 21 | AdamW on Linux and more
1 Like

I am on an Ubuntu 16.04 machine - (could be a desktop or a server)

  1. I use LXD/LXC containers, and they work well for me
  2. I copy my tempate container (called Xenial) to a new instance - it already has webmin and a standard user setup, patches, ssh installed etc
    2a) I ssh to the container using the IP address, and do most things from the command line, but I also have webmin on there in case I need it for some admin things
  3. I run the easy setup script as per the Erpnext/frappe documentation - (I wasn’t able to get the development one to work - it gives me a message about too many hosts), so I use the production install, and it works for what I need to do - mostly testing. (I see there are instructions to convert the production to a dev environment, but I havn’t had to do that for what I need
  4. I have abridged instructions in Evernote, which I copy and paste from (I love that tool)
  5. I find LXD/LXC a lot easier than docker, and a lot faster than a VM, but maybe this is a topic for another discussion thread. Anyways, I can share those instructions if anyone wants them
  6. I download and restore the latest version of my database from the Erpnext SAAS site, which is alreasy populated with sample data, that I use for demos, testing etc.
1 Like

Hey all:

Using 16.04 LTS:

2 benches - 1 for development, 1 for production
Ubuntu VM - reached trough secure VPN + second one on local again with VM
Firefox (with Firebug) for debugging


1 Like

Because I am a nut job,

I use Ubuntu desktop, dual boot with my windows 10 ofcourse, PHPStorm

1 Like

I am new to development of erpnext, i am using windows what is the best way to start of??

@Adeel_Rizvi: the easiest jump-start option for ERP Next development on a Windows machine is to use Virtual Box and an image with Development configuration of ERP Next (available to download at

1 Like

I’ve been having trouble syncing the erpnext code to a local folder.
I’m new to erpnext and it seems that the install script saves everything in the home folder of the user?
are you using vagrant?

I use Debian8 for my first try and see a lot of issues during installation probably due to my very heavy python installation. The most puzzling stuffs are error messages. Sometimes they are just misleading… I install through the standard bench flow while not easy setup.
I use chrome to visit the demo site.
I don’t use other tools for now.

I’m wondering if any could suggest what would be the best way to deploy the server for someone like me who is not well-versed in programming but wanna deploy ERPNEXT for a small manufacturing business?

So far, the easiest way I found is to use VirtualBox running the VM created by ERPNEXT awesome team.

Will I face any scalability issues in the future if I use VM?

Hey @Ratanak !

If you can please make a new post, it will increase the chances of getting replies rather than this comment on 2 year old post.

Thanks for your suggestion. I will do that.

Hi all,

as development system, I use

  • Windows or Debian GNU/Linux as host machine (can be really anything)
  • Oracle VirtualBox to contain the dev images
  • Debian Stretch amd64 with LXDE as a virtual guest (I have a fresh install with Geany and MySQL Workbench which I clone to do new stuff; each guest should have 2 vCPUs, 2-4 GB RAM, 16 GB disk; guest connected using NAT, mapped to localhost:8080)
  • Install ERPNext from the Easy Install: GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps

The good thing is that when things are really messed up you can simply go back to a previous snapshot, or take a fresh clone from the original image.

1 Like

Yes what relief and assurance that spells - when at an impasse and all else fails, to be able to simply backout to an old snapshot/checkpoint working state, and resume from there once more with your changes - that is the cat’s meow!


Can someone make a video of this setting up and show making a few changes to testing and deploying.

An Acer ChromeBook network connected to a 1GB VPS. My local Acer Chromebook, converted to Ubuntu laptop by using MrChromeBox and GalliumOS, is network connected to a Digital Ocean 1GB Debian server. Easy Install production onto Debian, configure the username “frappe” for sudo privileges and Public Key ssh login, and now on Debian:

>sudo service nginx stop
>sudo service supervisor stop
>bench (create new sites, like in the Frappe tutorial)

On the laptop, also edit the file “/etc/hosts” to add site_names like from the Frappe tutorial: site_name_1

Finally, execute this bash script on the laptop:

# Save this file to, and then "chmod 755"

ssh -f -q -N -M -S /tmp/session1 -L 8000:$2:8000 frappe@$1
ssh -f -q -N -M -S /tmp/session2 -L 9000:$2:9000 frappe@$1
(sleep 5; firefox http://$2:8000) &
ssh frappe@$1  -t 'cd frappe-bench && bench start && exec $SHELL -l'
ssh -S /tmp/session1 -O exit $1
ssh -S /tmp/session2 -O exit $1

chmod 755, then execute, using your own server domain name and development site name

>./ site_name_1

In summary, “etc/hosts” on both machines resolve the site_name, and SSH tunnels ports 8000 and 9000. This script opens the tunnels, starts your test server, and opens firefox to your test site. When you control-C the test server, the tunnels close.

To restart production, SSH into Debian and:

>sudo service nginx start
>sudo service supervisor start

For editor, I’m using VSCode with Remote-SSH