ERPNext Installation Details
ERPNext is one of free / open source ERP software available in today's market. Beside their cloud offering, there is a possibility to use ERPNext on-premise. However, installation instructions are not quite clear. I personally have to experiment with installation many times before I got ... "oh this is how things work". I hope, this is not because I am too slow. LOL. So here is my details instruction on how to make ERPNext installed properly.
Preparation
ERPNext is developed in Python using Frappe Framework (will useFrappe
term in this article). Both ERPNext and Frappe come from the same company with many community supporters. MariaDB is used for the DBMS, so, before going into details, here is our list of software which I prepare before ERPNext installation:
- Python: the programming language to implement Frappe and ERPNext on top of Frappe.
- MariaDB: the DBMS, used to store and manage data.
- Frappe: software framework, based on Python, used to build ERPNext.
- Bench: a CLI program to manage multi-tenant deployments for Frappe apps.
- Node.js: JavaScript engine, used by Frappe for frontend purposes.
- yarn: package manager for Node.js.
- Git: version control system, used bybench CLI.
- Redis: personally, I prefer redis-stack, in this article I will use redis-stack 6.2.4.
Installation and Configuration for Infrastructure Software
Python
I useMiniconda distribution. See thisinstallation instructions for information on how to install Miniconda. After installation, create environment - special for this ERPNext installation:
$ conda create -n py310-erpnext python=3.10$ conda activate py310-erpnext$ pythonPython 3.10.8 (main, Nov 4 2022, 13:48:29) [GCC 11.2.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>>$
All of our steps to install ERPNext will be done in this shell. If you want to open another shell, activate conda environmentpy311-erpnext, just like the command above.
MariaDB
Get MariaDB athttps://mariadb.org/download/, install using installation instructions athttps://mariadb.com/kb/en/binary-packages/ and then change its configuration (usually you have to editmy.cnf, in most Linux distribution you can find this file in/etc/mysql/my.cnf
):
...[mysqld]datadir= /home/bpdp/mariadbdatadefault-storage-engine= InnoDBcollation-server= utf8mb4_unicode_cicharacter_set_server= utf8mb4...
Run MariaDB server process using the instructions athttps://mariadb.com/kb/en/starting-and-stopping-mariadb-automatically/.
Userroot comes with no password, so, I choose to set root password:
mysqladmin-u root password'root'
Notes: I useroot as password for root just for simplicity.
Test your MariaDB installation:
$mysql-u root-p Enter password: Welcome to the MariaDB monitor. Commands end with; or\g.Your MariaDB connectionidis 5Server version: 10.10.2-MariaDB MariaDB ServerCopyright(c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type'help;' or'\h'forhelp. Type'\c' to clear the current input statement.MariaDB[(none)]>$
Frappe
You may read about Frappe athttps://github.com/frappe/frappe. In the meantime, this will be installed, together with ERPNext later usingbench
.
Bench
If you want more information, you can always have a look at its source code here:https://github.com/frappe/bench. Although there are many instructions to installbench, the easiest is just:
$pipinstallfrappe-benchCollecting frappe-bench Using cached frappe_bench-5.14.4-py3-none-any.whl(145 kB)Collecting click>=7.0 Using cached click-8.1.3-py3-none-any.whl(96 kB)Collecting gitpython~=2.1.15 Using cached GitPython-2.1.15-py2.py3-none-any.whl(452 kB)Collecting honcho Using cached honcho-1.1.0-py2.py3-none-any.whl(21 kB)Collecting jinja2~=3.0.3 Using cached Jinja2-3.0.3-py3-none-any.whl(133 kB)Collecting python-crontab~=2.6.0 Using cached python_crontab-2.6.0-py3-none-any.whlCollecting requests Using cached requests-2.28.1-py3-none-any.whl(62 kB)Collecting semantic-version~=2.8.2 Using cached semantic_version-2.8.5-py2.py3-none-any.whl(15 kB)Requirement already satisfied: setuptools>40.9.0in /home/bpdp/software/python-dev-tools/miniconda39/envs/py311-erpnext/lib/python3.11/site-packages(from frappe-bench)(65.5.1)Collecting gitdb2<3,>=2 Using cached gitdb2-2.0.6-py2.py3-none-any.whl(63 kB)Collecting MarkupSafe>=2.0 Using cached MarkupSafe-2.1.1-cp311-cp311-linux_x86_64.whlCollecting python-dateutil Using cached python_dateutil-2.8.2-py2.py3-none-any.whl(247 kB)Collecting charset-normalizer<3,>=2 Using cached charset_normalizer-2.1.1-py3-none-any.whl(39 kB)Collecting idna<4,>=2.5 Using cached idna-3.4-py3-none-any.whl(61 kB)Collecting urllib3<1.27,>=1.21.1 Using cached urllib3-1.26.12-py2.py3-none-any.whl(140 kB)Collecting certifi>=2017.4.17 Using cached certifi-2022.9.24-py3-none-any.whl(161 kB)Collecting smmap2>=2.0.0 Using cached smmap2-3.0.1-py3-none-any.whl(1.1 kB)Collecting six>=1.5 Using cached six-1.16.0-py2.py3-none-any.whl(11 kB)Collecting smmap>=3.0.1 Using cached smmap-5.0.0-py3-none-any.whl(24 kB)Installing collected packages: honcho, urllib3, smmap, six, semantic-version, MarkupSafe, idna, click, charset-normalizer, certifi, smmap2, requests, python-dateutil, jinja2, python-crontab, gitdb2, gitpython, frappe-benchSuccessfully installed MarkupSafe-2.1.1 certifi-2022.9.24 charset-normalizer-2.1.1 click-8.1.3 frappe-bench-5.14.4 gitdb2-2.0.6 gitpython-2.1.15 honcho-1.1.0 idna-3.4 jinja2-3.0.3 python-crontab-2.6.0 python-dateutil-2.8.2 requests-2.28.1 semantic-version-2.8.5 six-1.16.0 smmap-5.0.0 smmap2-3.0.1 urllib3-1.26.12$pip list |grepbench frappe-bench 5.14.4$bench--help WARN: Command not being executedinbench directoryUsage:[OPTIONS] COMMAND[ARGS]...Options:--version--use-feature TEXT-v,--verbose--help Show this message and exit.Commands: backup-all-sites Backup all sitesincurrent bench config Change bench configuration disable-production Disables production environmentforthe bench. download-translations Download latest translations drop exclude-app Exclude app from updating find Finds benches recursively from location get Clone an app from the internet or filesystem... get-app Clone an app from the internet or filesystem... include-app Include appforupdating init Initialize a new bench instanceinthe...installInstall system dependenciesforsetting up... migrate-env Migrate Virtual Environment to desired Python... new-app Create a new Frappe application under apps folder pip For piphelpuse`bench piphelp[COMMAND]` or... remote-reset-url Reset app remote url to frappe official remote-set-url Set app remote url remote-urls Show apps remote url remove Completely remove app from bench and re-build... remove-app Completely remove app from bench and re-build... renew-lets-encrypt Sets Up latest cron and Renew Let's Encrypt... restart Restart supervisor processes or systemd units retry-upgrade Retry a failed upgrade rm Completely remove app from bench and re-build... set-mariadb-host Set MariaDB host for bench set-nginx-port Set NGINX port for site set-redis-cache-host Set Redis cache host for bench set-redis-queue-host Set Redis queue host for bench set-redis-socketio-host Set Redis socketio host for bench set-ssl-certificate Set SSL certificate path for site set-ssl-key Set SSL certificate private key path for site set-url-root Set URL root for site setup Setup command group for enabling setting up a... src Prints bench source folder path, which can be... start Start Frappe development processes switch-to-branch Switch all apps to specified branch, or... switch-to-develop Switch frappe and erpnext to develop branch update Performs an update operation on current bench.$
Node.js
See thisinstallation instructions. I use version 16.x.x (LTS version).
Yarn
After Node.js installation, you should havenode
andnpm
. Install Yarn using this command:
$ npm install -g yarn
Git
Usually all Linux distro has Git installed by default. Just in case your Linux box does not have Git or maybe you use MacOS or Windows, seeinstallation instructions for Git.
Redis
Redis will be needed inbench
directory initialization. Make sure that you have redis (or redis-stack) andredis --version
has an output - for example:
$ redis-server --versionRedis server v=6.2.7 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=adcdff4a0d295794$
Initializebench
Directory
Our applications will reside in onebench directory, therefore we need to initialize it first:
$bench init--frappe-branch version-14 myERPNext14
Here's the screen dump:
$bench init--frappe-branch version-14 myERPNext14 Setting Up Environment$python3-m venvenv$/home/bpdp/kerjaan/ptjim/erpnext/myERPNext14/env/bin/python-m pipinstall--quiet--upgrade pipGetting frappe$git clone https://github.com/frappe/frappe.git--branch version-14--depth 1--origin upstreamCloning into'frappe'...remote: Enumerating objects: 3162,done.remote: Counting objects: 100%(3162/3162),done.remote: Compressing objects: 100%(2836/2836),done.remote: Total 3162(delta 424), reused 1254(delta 227), pack-reused 0Receiving objects: 100%(3162/3162), 15.99 MiB | 1.76 MiB/s,done.Resolving deltas: 100%(424/424),done.Installing frappe$/home/bpdp/kerjaan/ptjim/erpnext/myERPNext14/env/bin/python-m pipinstall--quiet--upgrade-e /home/bpdp/kerjaan/ptjim/erpnext/myERPNext14/apps/frappe DEPRECATION: zxcvbn-python is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: PyQRCode is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: docopt is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: traceback-with-variables is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: maxminddb is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: hiredis is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: maxminddb-geolite2 is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: rauth is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: premailer is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: googlemaps is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: cairocffi is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559$yarninstallyarninstallv1.22.19warning ../../../../../../package.json: No license field[1/5] Validating package.json...[2/5] Resolving packages...[3/5] Fetching packages...[4/5] Linking dependencies...warning" > @frappe/esbuild-plugin-postcss2@0.1.3" has unmet peer dependency"less@^4.x".warning" > @frappe/esbuild-plugin-postcss2@0.1.3" has unmet peer dependency"stylus@^0.x".warning Workspaces can only be enabledinprivate projects.[5/5] Building fresh packages...Donein237.62s.Found existing apps updating states...$bench buildAssetsforRelease v14.16.0 don't exist✔ Application Assets Linked yarn run v1.22.19warning ../../../../../../package.json: No license field$ node esbuild --production --run-build-commandclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationBrowserslist: caniuse-lite is outdated. Please run: npx browserslist@latest --update-db Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updatingFile Sizefrappe/dist/js/├─ bootstrap-4-web.bundle.22U72DEL.js 1.73 Kb├─ controls.bundle.XMXXTEDE.js 1226.29 Kb├─ data_import_tools.bundle.ZHGGYJ52.js 106.10 Kb├─ desk.bundle.MLU24LZA.js 1315.72 Kb├─ dialog.bundle.IBOC573P.js 52.67 Kb├─ form.bundle.DM6ACTZY.js 153.74 Kb├─ frappe-web.bundle.UEU5WTAG.js 823.04 Kb├─ libs.bundle.YZMCKPNH.js 574.13 Kb├─ list.bundle.TT33PVXT.js 185.23 Kb├─ logtypes.bundle.7STJ7YLS.js 0.73 Kb├─ recorder.bundle.5AOEUOFD.js 179.54 Kb├─ report.bundle.GFUQKB7W.js 170.93 Kb├─ user_profile_controller.bundle.YR6XHZRM.js 11.35 Kb├─ video_player.bundle.UO3KNN5D.js 120.59 Kb├─ web_form.bundle.KZ3DGEKH.js 1560.14 Kb├─ print_format_builder.bundle.KP4FAW42.js 170.39 Kb├─ build_events.bundle.L2HAVD4K.js 11.62 Kb└─ kanban_board.bundle.VCVKXCPT.js 27.42 Kbfrappe/dist/css/├─ desk.bundle.ZJ65KRGK.css 542.84 Kb├─ email.bundle.2SCQFONP.css 4.02 Kb├─ login.bundle.YF3JSIEM.css 23.56 Kb├─ print.bundle.4DZBYDHD.css 194.76 Kb├─ print_format.bundle.P4TGM3H5.css 177.61 Kb├─ report.bundle.INQWGNNN.css 5.36 Kb├─ web_form.bundle.ICCT62YT.css 14.73 Kb└─ website.bundle.DQ2V2XQ5.css 420.08 Kbfrappe/dist/css-rtl/├─ desk.bundle.2VE3L2MS.css 543.10 Kb├─ email.bundle.5KSKAB3K.css 4.02 Kb├─ login.bundle.BI7G5G42.css 23.56 Kb├─ print.bundle.3YGOKYDF.css 194.91 Kb├─ print_format.bundle.N76YW3PD.css 177.72 Kb├─ report.bundle.S5GOBZKX.css 5.35 Kb├─ web_form.bundle.KPBAPSVI.css 14.72 Kb└─ website.bundle.MQZU7APE.css 420.24 Kb DONE Total Build Time: 12.268s WARN Cannot connect to redis_cache to update assets_json WARN Cannot connect to redis_cache to update assets_json WARN Cannot connect to redis_cache to update assets_jsonDone in 15.86s.SUCCESS: Bench myERPNext14 initialized$
At this point, we already have one bench directory, named myERPNext14.
NOTE: The termbench/Bench usually denotes two things:directory andCLI. Starting now, we will callbench/Bench directory asbench/Bench andbench/Bench CLI asbench/Bench CLI.
In this bench, we will create our site and then get the app (ERPNext) and install our ERPNext app into our site.
Create New Site
Set the host first:
$cat /etc/hosts127.0.0.1 localhost127.0.1.1 dellvuan dellvuan127.0.1.1 myerpnext myerpnext# The following lines are desirable for IPv6 capable hosts::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allrouters$ping myerpnextPING myerpnext(127.0.1.1) 56(84) bytes of data.64 bytes from dellvuan(127.0.1.1):icmp_seq=1ttl=64time=0.052 ms64 bytes from dellvuan(127.0.1.1):icmp_seq=2ttl=64time=0.031 ms^C--- myerpnext ping statistics---2 packets transmitted, 2 received, 0% packet loss,time1021msrtt min/avg/max/mdev= 0.031/0.041/0.052/0.010 ms$
Enter the directory which we have created before usingbench init
(myERPNext14) and then use this command to create a new site (myerpnext01):
$bench new-site--db-name myerpnextdb01 myerpnext01 MySQL root password: Installing frappe...Updating DocTypesforfrappe :[========================================] 100%Updating country info :[========================================] 100%Set Administrator password: Re-enter Administrator password: Updating Dashboardforfrappemyerpnext01: SystemSettings.enable_scheduler is UNSET*** Scheduler is disabled***$
If we do not use--db-name
thenbench CLI will use randomly generated name. We need to answer Administrator password. Take note of the password, we're gonna need this later.
Get ERPNext Application
Use this command:
$bench get-app--branch version-14 erpnext
Here's the screendump:
$bench get-app--branch version-14 erpnextGetting erpnext$git clone https://github.com/frappe/erpnext.git--branch version-14--depth 1--origin upstreamCloning into'erpnext'...remote: Enumerating objects: 4909,done.remote: Counting objects: 100%(4909/4909),done.remote: Compressing objects: 100%(4172/4172),done.remote: Total 4909(delta 971), reused 2275(delta 506), pack-reused 0Receiving objects: 100%(4909/4909), 17.18 MiB | 1.72 MiB/s,done.Resolving deltas: 100%(971/971),done.Ignoring dependencies of erpnext. Toinstalldependencies use--resolve-depsInstalling erpnext$/home/bpdp/kerjaan/ptjim/erpnext/myERPNext14/env/bin/python-m pipinstall--quiet--upgrade-e /home/bpdp/kerjaan/ptjim/erpnext/myERPNext14/apps/erpnext DEPRECATION: pycountry is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: jsonobject is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: taxjar is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: plaid-python is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 DEPRECATION: gocardless-pro is being installed using the legacy'setup.py install' method, because it does not have a'pyproject.toml' and the'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is toenablethe'--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559$yarninstallyarninstallv1.22.19warning ../../../../../../package.json: No license field[1/4] Resolving packages...[2/4] Fetching packages...[3/4] Linking dependencies...[4/4] Building fresh packages...Donein1.31s.$bench build--app erpnext✔ Application Assets Linked yarn run v1.22.19warning ../../../../../../package.json: No license field$node esbuild--production--apps erpnext--run-build-commandclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationBrowserslist: caniuse-lite is outdated. Please run: npx browserslist@latest--update-db Why you shoulddoit regularly: https://github.com/browserslist/browserslist#browsers-data-updatingFile Sizeerpnext/dist/js/├─ bank-reconciliation-tool.bundle.M2IJU46J.js 15.49 Kb├─ erpnext-web.bundle.SJSJGLAQ.js 33.34 Kb├─ erpnext.bundle.N434KUXQ.js 171.45 Kb├─ hierarchy-chart.bundle.7XNMCT5W.js 197.67 Kb├─ item-dashboard.bundle.FDBNNRVN.js 10.01 Kb└─ point-of-sale.bundle.6IPZTPSS.js 92.75 Kberpnext/dist/css/├─ erpnext-web.bundle.A6SQ2ID7.css 25.63 Kb├─ erpnext.bundle.U356GCQU.css 45.08 Kb└─ erpnext_email.bundle.IZ3Q7O74.css 0.56 Kberpnext/dist/css-rtl/├─ erpnext-web.bundle.V7HAL4NV.css 25.62 Kb├─ erpnext.bundle.VJVO6DLO.css 45.07 Kb└─ erpnext_email.bundle.5XL2M5KG.css 0.56 Kb DONE Total Build Time: 1.609s WARN Cannot connect to redis_cache to update assets_json WARN Cannot connect to redis_cache to update assets_json WARN Cannot connect to redis_cache to update assets_jsonDonein5.35s.$
Install ERPNext Into the Site
Once we get ERPNext, we can install it into our site. In version 14, we need to installpayments
app first (seehttps://discuss.erpnext.com/t/getting-error-when-running-install-app-erpnext/92832):
$ bench get-app paymentsGetting payments$ git clone https://github.com/frappe/payments.git --depth 1 --origin upstreamCloning into 'payments'...remote: Enumerating objects: 84, done.remote: Counting objects: 100% (84/84), done.remote: Compressing objects: 100% (74/74), done.remote: Total 84 (delta 12), reused 37 (delta 4), pack-reused 0Receiving objects: 100% (84/84), 41.23 KiB | 1.72 MiB/s, done.Resolving deltas: 100% (12/12), done.Ignoring dependencies of payments. To install dependencies use --resolve-depsInstalling payments$ /home/bpdp/kerjaan/ptjim/erpnext/myERPNext14/env/bin/python -m pip install --quiet --upgrade -e /home/bpdp/kerjaan/ptjim/erpnext/myERPNext14/apps/payments DEPRECATION: paytmchecksum is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559$ bench build --app payments✔ Application Assets Linked yarn run v1.22.19warning ../../../../../../package.json: No license field$ node esbuild --production --apps payments --run-build-commandFile Size DONE Total Build Time: 399.758msclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migrationclean: postcss.plugin was deprecated. Migration guide:https://evilmartians.com/chronicles/postcss-8-plugin-migration WARN Cannot connect to redis_cache to update assets_json WARN Cannot connect to redis_cache to update assets_json WARN Cannot connect to redis_cache to update assets_jsonDone in 3.92s.$
$bench--site myerpnext01 install-app erpnextInstalling payments...Updating DocTypesforpayments :[========================================] 100%* Installing Payment Custom FieldsinWeb FormUpdating DashboardforpaymentsInstalling erpnext...Updating DocTypesforerpnext :[========================================] 100%Updating customizationsforAddressUpdating customizationsforContactUpdating Dashboardforerpnext$
Setup Frappe for Production Environment
We can usebench CLI to setup Frappe for production environment, especially for specific user. Here, my username isbpdp, so we will do setup for userbpdp. To setup production environment usingbench CLI, we need to usesudo since the command will change some system settings. Usingsudo
forminiconda
distribution is a little bit tricky sincesudo
usually can not find command fromminiconda
becauseminiconda
is installed for user. Therefore we need to use full path:
$sudo /home/bpdp/software/python-dev-tools/miniconda39/envs/py310-erpnext/bin/bench setup production bpdp
At this point, our installation has fisnished successfully. Next, we will run our ERPNext app and doing some initial setup.
Run ERPNext
To run ERPNext, usebench CLI below;
$bench start......<screendump>......16:31:26 web.1 |* Running on http://0.0.0.0:8001/(Press CTRL+C to quit)......16:31:56 watch.1 | Rebuilding bank-reconciliation-tool.min.js16:31:56 watch.1 | Rebuilding erpnext.css16:31:56 watch.1 | Rebuilding marketplace.css16:31:56 watch.1 | Rebuilding erpnext-web.css$
NOTE: The screendump above display the port which is accessible using browser where ERPNext serves.
Initial Setup
Using browser, accesshttp://myerpnext:8001/, a login screen appear:
Use the password which has been created above and Administrator user.
Choose your language.
Choose region and fill timezone and currency.
Create user. You may put picture or not.
Choose domain / industry where our company operate. We may choose more than one for later process.
Brand of our company. Logo for our company also optional.
More info about our company can be filled now.
Wait until setup finish successfully.
Setup completed! Right now, we can start use our ERPNext. Enjoy!
Top comments(0)
For further actions, you may consider blocking this person and/orreporting abuse