Docker is the fastest way to get ERPNext running. No manual dependency installation, no version conflicts. This guide uses the official Frappe Docker images to set up a complete ERPNext environment.
Pre-requisites
Docker Engine 20.10+
Docker Compose v2
Git
STEP 1 Install Docker
On Ubuntu:
sudo apt-get update
sudo apt-get install -y docker.io docker-compose-v2
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER
On Mac:
brew install --cask docker
STEP 2 Clone the Frappe Docker Repository
git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker
STEP 3 Copy the Example Environment File
cp example.env .env
Edit the .env file to set your passwords and site name:
nano .env
STEP 4 Start the Containers
For a development setup:
docker compose -f compose.yaml
-f overrides/compose.noproxy.yaml
-f overrides/compose.erpnext.yaml
up -d
STEP 5 Create a New Site
docker compose exec backend bench new-site mysite.localhost
--mariadb-root-password 123
--admin-password admin123
--install-app erpnext
STEP 6 Set the Default Site
docker compose exec backend bench --site mysite.localhost set-config developer_mode 1
docker compose exec backend bench --site mysite.localhost clear-cache
docker compose restart backend
Your ERPNext instance is now running at:
http://mysite.localhost:8080
Useful Commands
# View logs
docker compose logs -f backend
# Run bench commands
docker compose exec backend bench --help
# Stop everything
docker compose down
# Stop and delete all data
docker compose down -v
# Backup site
docker compose exec backend bench --site mysite.localhost backup
Docker makes ERPNext setup a 5-minute job instead of an hour. The trade-off is you need to understand Docker basics for debugging, but for development and testing it’s the way to go.
Comments
Join the discussion. Got a question, found an issue, or want to share your experience?