If you’ve been searching for a way to install ERPNext on Windows 11 in 2025 without endless headaches, you’re in the right place. ERPNext is a powerful ERP system open source, but setting it up on Windows directly can get tricky. That’s where Docker comes in.
With Docker, you get a clean, isolated environment that plays nicely with your system. Combine that with VS Code’s Dev Containers, and you’ve got a development setup that’s smooth, portable, and far less error-prone. In this guide, I’ll walk you through every step — from installing prerequisites to running your first ERPNext site.
But if you have window 10 and know how to install ERPNext on Window 10 read this article.
Pre-requisites
Before diving into commands, make sure you’ve got these tools ready:
- Docker Desktop – the container platform that runs ERPNext.
- Git – needed to clone the frappe_docker repository.
- Windows 11 – required for Docker Desktop compatibility.
- VS Code – your editor and Dev Container manager.
Once you get these, you’re ready to begin the actual ERPNext Docker setup.
STEP 1: Check Docker and Git Versions
Before touching ERPNext, confirm Docker and Git are installed properly. Open a terminal (PowerShell or Command Prompt) and run:
docker versiongit version
If you see version numbers, you’re good to go. If you don’t, reinstall Docker Desktop or Git before moving forward. Skipping this step could lead to frustrating ERPNext troubleshooting on Windows later.
STEP 2: Clone frappe_docker and Move Into the Folder
Now let’s grab the official frappe_docker repository. This contains everything you need to run ERPNext inside Docker.
Run the following commands:
git clone https://github.com/frappe/frappe_docker.gitcd frappe_docker
- The first line downloads the official frappe_docker code from GitHub.
- The second puts you inside the folder so you can start working with it.
Using the official repo ensures you’re always up to date with patches and fixes — essential for a reliable Frappe ERPNext installation tutorial.
STEP 3: Copy Example DevContainer and VS Code Configs
Inside the cloned repository, you’ll find example configs. These are like blueprints for setting up your development container in VS Code. Instead of writing them from scratch, just copy them into place.
- Copy the example DevContainer config:
- From
devcontainer-example
→ to.devcontainer
- Copy the example VS Code config:
- From
development/vscode-example
→ todevelopment/.vscode
This step gives you a preconfigured environment, so when you open the project in VS Code, everything just works. No messy manual setup.
~ Think of it like moving into a furnished apartment instead of starting with bare walls.
STEP 4: Install VS Code Dev Containers Extension
With the example configs in place, you’ll need one more tool to make everything work inside VS Code: the Dev Containers extension.
Here’s what to do:
- Open VS Code.
- Go to the Extensions Marketplace.
- Search for “Dev Containers” and install it.
This extension allows VS Code to run directly inside Docker containers. Without it, the configs you just copied won’t do much. Once installed, you’re ready to fire up your ERPNext project in a container.
STEP 5: Open frappe_docker in VS Code and Reopen in Container
Now comes the fun part — launching your ERPNext with VS Code dev containers.
- Open the
frappe_docker
folder in VS Code. - Press Ctrl + Shift + P to bring up the Command Palette.
- Type and select: Remote-Containers: Reopen in Container.
~You can also click the green icon in the bottom left corner to access the container menu.
If everything’s set up correctly, VS Code will restart and reload inside the container. It feels just like your normal editor, but everything’s running within Docker.
Common Error – Port 80 Conflict
Sometimes you’ll see this error:
Error starting userland proxy: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions
Fix it by running this in CMD:
netsh http add iplisten ipaddress=::
That command frees up port 80 for Docker.
STEP 6: Initialize Frappe Bench with Version 14
With the container ready, it’s time to set up Frappe Bench. This is the tool that manages sites, apps, and services in ERPNext.
Run these commands:
bench init --skip-redis-config-generation --frappe-branch version-14 frappe-benchcd frappe-bench
- The first line creates a new bench with Frappe version 14.
- The second moves you into the bench directory, where most of your future work happens.
At this point, you’ve got a clean workspace ready for ERPNext.
STEP 7: Configure Bench Hosts
ERPNext needs to know where its database and caching services live. Since we’re running in Docker, we have to tell bench to use the right containers instead of localhost.
Run these commands inside the container:
bench set-config -g db_host mariadbbench set-config -g redis_cache redis://redis-cache:6379bench set-config -g redis_queue redis://redis-queue:6379bench set-config -g redis_socketio redis://redis-socketio:6379
If those fail for some reason, edit the common_site_config.json
file manually:
{"db_host": "mariadb","redis_cache": "redis://redis-cache:6379","redis_queue": "redis://redis-queue:6379","redis_socketio": "redis://redis-socketio:6379"}
This ensures ERPNext MariaDB setup and Redis cache configuration ERPNext are properly linked.
STEP 8: Create a New Site
ERPNext runs on sites, and each one is like a self-contained system. Let’s create your first site.
Run:
bench new-site d-code.localhost --no-mariadb-socket
Important details:
- The site name must end with
.localhost
for local testing. - The MariaDB root password is set to
123
in this setup.
Once complete, you’ll have your first ERPNext site creation ready to go.
STEP 9: Enable Developer Mode
Want to customize ERPNext? You’ll need to switch on ERPNext developer mode.
Run:
bench --site d-code.localhost set-config developer_mode 1bench --site d-code.localhost clear-cache
The first command flips developer mode on. The second clears the cache so changes take effect. Without this, you’re limited to just using ERPNext “as is.”
STEP 10: Install ERPNext
Now the exciting part — installing ERPNext itself. This is where your site actually becomes a working ERP system open source.
Run:
bench get-app --branch version-14 --resolve-deps erpnextbench --site d-code.localhost install-app erpnext
- The first line fetches ERPNext version 14.
- The second installs it onto your site.
After this step, ERPNext is fully connected to your bench environment.
STEP 11: Start Frappe Bench
The finish line is here! Start the bench with:
bench start
You’ll see logs appear in your terminal — that means services are running.
Now open your browser and go to:
http://d-code.localhost:8000
Log in using:
- Username: Administrator
- Password: the one you set during site creation
And that’s it! You’ve completed the full ERPNext Docker setup and successfully learned how to install ERPNext on Windows 11.
Conclusion
And there you have it — a complete guide to install ERPNext on Windows 11 using Docker. By following these steps, you:
- Installed all prerequisites (Docker, Git, VS Code).
- Cloned and configured the official frappe_docker repo.
- Set up Frappe Bench with version 14.
- Configured services like MariaDB and Redis.
- Created a new site, enabled developer mode, and installed ERPNext.
- Finally, launched ERPNext in your browser at
http://d-code.localhost:8000
.
The real win here? You now have a fully functional ERPNext instance running locally — safe to test, customize, and explore without messing up your main system. Docker makes everything cleaner, easier, and more reliable.
If you also want to know how to install ERPNext on Ubuntu 24.04 LTS read this article for more information.
Pros and Cons of Running ERPNext in Docker
Here’s a quick breakdown to help you understand why this setup works so well:
Pros
- Isolation: Keeps ERPNext separate from your Windows environment.
- Portability: Easily move your setup across machines.
- Easy Reset: Mess something up? Just rebuild the container.
- Consistency: Works the same on any Windows 11 system.
Cons
- Learning Curve: Docker and containers may feel new at first.
- Performance Overhead: Slightly heavier than native installs.
- Not Production Ready: Best for local development, not large-scale deployment.
If your goal is learning, testing, or development, Docker is hands-down the easiest way to get started with ERPNext.
FAQs
1. Can I run ERPNext without Docker on Windows 11?
Technically yes, but it’s painful. Direct installs on Windows often run into dependency and compatibility issues. Docker avoids all that.
2. What if I forget my ERPNext Administrator password?
You can reset it from the bench command line:
bench --site d-code.localhost set-admin-password yournewpassword
3. Is ERPNext free to use?
Yes — ERPNext is an ERP system open source, licensed under GPL. You can use it, customize it, and even contribute back to the community.
4. Can I install apps other than ERPNext with this setup?
Absolutely. Once Frappe Bench is running, you can use bench get-app
to install other Frappe-based apps.
5. What if Docker is running slowly on Windows 11?
Make sure WSL 2 is enabled and allocated enough RAM/CPU in Docker Desktop settings. Performance improves dramatically with the right configuration.