/ open source

ERPNext Docker Installation

How to install ERPNext using Docker

Frappe is the foundation software needed* to run and install ERPNext.

Bench is a python tool to orchestrate Frappe deployments. Frappe is a "batteries included" web framework released under the MIT licence. ERPNext, is an ERP tool suitable for small to medium sized businesses and it a collections of apps on-top of Frappe. ERPNext is licensed GPL.

1. Install Frappe Docker

git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker
docker-compose up -d
docker exec -i -u root frappe bash -c "cd /home/frappe && chown -R frappe:frappe ./*" 
cd ~/
bench init frappe-bench --skip-bench-mkdir --skip-redis-config-generation
cd frappe-bench
mv Procfile_docker Procfile
mv sites/common_site_config_docker.json sites/common_site_config.json
bench set-mariadb-host mariadb

You now have frappe installed, however there's no sites or apps installed yet. You must:

  1. Create a new site(s)
  • Add the ERPNext app
  • Choose to install those apps on the sites you wish
    The above steps are explained next.

Without any apps, Frappe is a basic shell upon which you can build out your application. Frappe is a "Batteries Included" framework.

Frappe is a Full-stack web application framework that uses Python and MariaDB on the server side and a tightly integrated client side library

Frappe

Frappe includes:

Therefore Frappe comes with a lot of functionality before you install ERPNext.

Note: The default login to Frappe docker is:
Administrator/admin

Frappe Base install process (no ErpNext app yet):

Frappe base install

The Desk view shows the some of the modules already included in Frappe:

  • Email
    • Inbox (Send/Receive)
    • Newsletters & Subscriber Lists
  • Todo list manager
  • Kanban boards
  • Also included by default:
  • Web site creation
    • Page creation
    • Web forms
    • Blog
  • Knowledge base
  • Calendar
  • Notes & Reminders (pop up reminder when user logs in)
  • Gantt chart (built up on calendar)

Frappe build in modules desk

2. Add a site

To add a new site:

bench new-site site1.local

3. Add ERPNext app to Frappe

First you must download (fetch/get) the ERPNext app. You only need to do this once:

bench get-app erpnext https://github.com/frappe/erpnext

Now install the ERPNext app:

bench --site site1.local install-app erpnext

Note: If you get the error "ERPNext can only be installed on a fresh site where the setup wizard is not completed". This is because you have already completed the set-up wizard. ERPNext needs to be installed as part of the set-up process. To wipe your site's database and start again run:

bench --site site1.local reinstall
# Then try again:
bench --site site1.local install-app erpnext

4. Switch to master branch

bench switch-to-master
## Run bench update to be safe from any differences in database schema 
bench update --patch

5. Perform the ERPNext setup

Run bench start, and then complete the installation wizard:

ERPNext Installation Steps

After completing initial installation:

Complete ERPNext installation

You'll note a lot more apps are installed along with ERPNext. Be aware most of the work remains to be done!

  1. Configuration to your business needs
  • Training. Support your staff and users to know how to use any system

Helpful bench/ Frappe commands:

Show bench help commands

bench --help

Reset Frappe admin password

bench --site sitename set-admin-password newpassword

Show help on a particular command options

E.g. to show the command options to the bench serve command:

bench serve --help

Ignore readme https://github.com/frappe/frappe_docker/
Instead: https://github.com/frappe/frappe_docker/wiki/Hitchhiker's-guide-to-building-this-frappe_docker-image
Do this: https://github.com/frappe/frappe_docker/issues/1#issuecomment-325377935
From here (and other file) https://github.com/frappe/frappe_docker/blob/master/frappe-bench/sites/common_site_config_docker.json
Finally: https://discuss.erpnext.com/t/solved-setup-failed-could-not-start-up-error-in-setup/33037/3