[NEW:2020-07-13] ERPNext v12 manual install on Debian Buster 10.3+ with Python v3+

[NEW:2020-07-13] ERPNext v12 manual install on Debian Buster 10.3+ with Python v3+

I have tested this new sequence several times on Debian Buster 10.3 and 10.4 via VBox – it works consistently. I applied a few minor updates to the previous Debian 10 post and discovered some errors, hence this “NEW” version.
Other differences specific to this version:
– ONLY v12 (not v11+updates)
– Python 3.x environment
– wkhtmltopdf 0.12.6-1 (the default is 0.12.3 and this is often updated to 0.12.5, but I figured why not put in the very very latest one)

Like the previous Debian 9 article and Debian 10 article, it is based on various documents and notes that I have picked up on the ERPNext forums. I have left my little scraps of notes in comment lines. The syntax is ZSH/BASH compliant if you want to copy/paste it.

I run it line by line instead of as a script so that I get properly warned if anything is wrong along the way.

The pre-prep (Yes, I know you can’t prepare before you prepare)

Before we start on the OS & ERPNext pieces, let’s create a base machine using VirtualBox (although you could just as easily run this on a PC of suitable spec).
I created a VM as follows:
VMname=d10e, debian 64bit, 4GB RAM, 12GB vHDD, Network in bridge mode (I assume it gets a DHCP address on/from your LAN).
VBox will assign 4GB to swap, leaving you 8GB for the OS etc, and after everything below, you’ll be left with 2.2GB of free space.

Start with a basic netinstall
– nonGUI install,
– set your closest mirror to speed things up a bit,
– auto partitioned to [~4GB:swap,~8GB(remainder):/]
ONLY [*]SSH server, and [*]standard utilities selected – NO gui! [retrieving 116 files…]
– IF you do add a GUI here, then you should check this note
– I create a non-root user/password set to user001/user001password at install time, and use this as the SSH login below. [This step is optional – you could just create that user as erpnext01, but I have experienced occasional permission errors that way, so I prefer this method]

The IP address of the machine (in my case) is, and I like to match the port to the IP, so in the end it will be running on – but that’s just personal preference, and is not essential.
At the end of it, you’ll get a production version of ERPNext (v12 stable at the time of this update) running on a minimalist non-GUI Debian Buster v10

The preparation process for Debian (Buster)

Within/during the install, I set the users as follows (please do NOT use these values – they are not safe)!

  • root/rootpassword
  • erpnext01/erpnextpassword – with sudo permissions
  • MySQL(root):mysqlpassword
  • Administrator:adminpassword

Once this completes, and has rebooted, you can login as root, and run the install steps below.
I normally modify the SSH port from the default of 22, to another non-standard values (eg. 22188) which gives a glimmer of extra protection from script kiddies (but not from real hackers, who would find the port anyway). I don’t allow direct root login via SSH except with PKI infrastructure. This is achieved by editing the SSH config file

I personally prefer to SSH into the VM instead of using the TTY – specifically using terminator (OR you can use PuTTY) since it allows copy on select & right-click paste+go, which makes life really easy

A note: in Debian Buster, the behaviour of su/sudo is different to previous versions. Using su erpnext01/su (for root), doesn’t convert the ENV/variables quite the same as before.
MUCH better to use su -l erpnext01 and/or su - (for root).

The actual setup/install process for ERPNext

login as user001

If you didn’t create your ERPNext user at install time, then you can do it like so (I recommend this method over creation at install time)…

Now we’ll perform the ERPNext side of the installation.

erpnext 12.10.1
frappe 12.8.1

The resulting VM(~1.8GB) can be downloaded from here.
I can offer absolutely no guarantees about whether it will work for you – it does work 100% for me if that’s any consolation. It has everything normally required to get your system working. Please CHANGE all the relevant passwords and ports to suit your own needs as the current ones are public knowledge from the article!

It is at the point where you usually do your GUI setup and contains only the default installation info – 0% customised/configured.

2 thoughts on “[NEW:2020-07-13] ERPNext v12 manual install on Debian Buster 10.3+ with Python v3+

  1. Duuuuuuuude, thanks for the article! I just found ERPNEXT and the install scripts are completely broken for Debian 10, and I tried the install scripts for Debian 9 as well but even installed it doesn’t work properly. (Can’t get past initial setup…sigh)

    I will be installing this on a LXC container and not a VM so I’ll let you know how it goes.

    I am about to try your article on Debian 10 and appreciate you sharing your work.

Leave a Reply

Your email address will not be published. Required fields are marked *

19 + sixteen =