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:
- 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):
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)
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:
After completing initial installation:
You'll note a lot more apps are installed along with ERPNext. Be aware most of the work remains to be done!
- 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
Useful links
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