How to run ERPNext software in docker
๐ How to Run ERPNext Using Docker โ The Simple Way
ERPNext is a powerful, open-source ERP system built on the Frappe framework. Whether you're exploring it for the first time or deploying it for your team, running ERPNext using Docker can save hours of setup time and headaches.
In this post, youโll learn how to get ERPNext up and running in minutes using Docker.
๐งฑ Why Use Docker for ERPNext?
Running ERPNext without Docker requires manually setting up:
- MariaDB
- Redis (3 instances)
- Node.js and Yarn
- Python, Bench, Nginx
- Scheduler processes
With Docker, you avoid all that by using prebuilt containers with these components isolated, tested, and configured.
๐ง Prerequisites
Before you begin, make sure you have:
โ Docker installed โ Docker Compose installed โ At least 4 GB RAM and 2 CPUs available โ Ensure you are running linux or Macos as ERPnext works only on windows.
Optional: Git for cloning the ERPNext Docker repo.
๐ฆ Step 1: Clone the Frappe/ERPNext Docker Repository
git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker
docker compose -f pwd.yml up -d
This will start the ERPNext on port 8080. You can access it at http://localhost:8080 But if you want to do further configuration, you can follow below steps.
๐๏ธ Step 2: Set Up Your Environment
Create a .env
file (or copy from the example):
cp .env-example .env
Edit it as needed. Youโll define things like:
PROJECT_NAME=erpnext
FRAPPE_VERSION=version-15
ERPNEXT_VERSION=version-15
MYSQL_ROOT_PASSWORD=root
You can use other versions like
develop
,version-14
, etc.
๐ ๏ธ Step 3: Build and Start the Containers
Run this to bring up all containers:
docker compose -f compose.yaml -f overrides/erpnext.yaml up -d
It will set up:
- Frappe/ERPNext app container
- MariaDB
- Redis Queue, Cache, and SocketIO
- Nginx
- Worker and Scheduler
๐ Step 4: Access ERPNext in Browser
Once the containers are running, open your browser:
http://localhost:8080
Youโll see the ERPNext login screen.
๐งช Optional: Create First User and Company
After login, ERPNext will prompt you to set up the first user and company. You can also automate this with scripts.
๐ Directory Structure Overview
frappe_docker/
โโโ compose.yaml
โโโ overrides/
โ โโโ erpnext.yaml
โโโ patches/ (optional)
โโโ sites/
โ โโโ erp.localhost/
๐งน Stopping and Cleaning Up
To stop the containers:
docker compose down
To remove all data:
docker volume prune
๐ก Tips and Troubleshooting
- Custom apps? Mount your custom app inside
/apps
volume. - Email not working? Configure SMTP inside ERPNext settings UI.
- Debug logs? Use
docker compose logs -f backend
.
If you need help with this setup, you can contact https://it.softpost.org/services/erp and they will help with this.