How to install frappe only and without erpnext?

At present, I just want to learn the frappe framework, and I don’t need to learn erpnext application for the time being. I installed and deployed this system through the official docker wizard, but by default, both frappe and erpnext are installed, and I only want to use frappe now, what should I do? I removed the version number of ERPNEXT_VERSION from.env and replaced it with a null value, i.e.

ERPNEXT_VERSION=

After installing erpnext again, I found that ErpNEXT still exists. What should I do?

I see other people have the same question, which technology expert can tell me the answer?

Hi @sx98083714:

Didn’t check docker install but try bench uninstall-app erpnext … this should just keep frappe as app.

Anyway, you can learn a lot of things about framework diggin on ERPNext.

Hope this help.

Hi @sx98083714 ,

Sure! Here’s a short version:


  1. Clone the repo:
git clone https://github.com/frappe/frappe_docker
cd frappe_docker
  1. Edit .env:
    Only set FRAPPE_VERSION. Remove or comment out ERPNEXT_VERSION.
FRAPPE_VERSION=version-15
# ERPNEXT_VERSION=
  1. Edit apps.txt:
    Only include:
frappe
  1. Build and start:
docker compose build
docker compose up -d
  1. Create site & install frappe:
docker compose exec backend bench new-site yoursite.local
docker compose exec backend bench --site yoursite.local install-app frappe

Hope that helps!

Thank you very much for your reply! I have tried manually uninstalling erpnext after installation, and while this works, there are some errors during the uninstallation process and I suspect some garbage will be generated, so it may be better to edit the configuration file.

You’re absolutely right — uninstalling ERPNext after installation can leave behind residual database tables, patches, or broken dependencies, which isn’t ideal, especially when you’re just learning Frappe.

Best practice is exactly what you’re thinking:

Prevent ERPNext from being installed at all by editing the configuration before building and starting.

So just to reinforce the clean setup:

What to Edit Before Running Anything:

  1. .env → only set FRAPPE_VERSION, remove ERPNEXT_VERSION.
  2. apps.txt → only write:
    frappe
    

That way, the Docker setup won’t even try to fetch or install ERPNext — no need to uninstall, no garbage left behind.


If you’re experimenting a lot and want a fast reset, consider removing volumes (for clean DB/filesystem):

docker compose down -v

Then rebuild fresh.

docker compose build
WARN[0000] The “ERPNEXT_VERSION” variable is not set. Defaulting to a blank string.
WARN[0000] The “ERPNEXT_VERSION” variable is not set. Defaulting to a blank string.
WARN[0000] The “ERPNEXT_VERSION” variable is not set. Defaulting to a blank string.

I tried, and after commenting out ERPNEXT_VERSION in env, I got an error when executing build.

https://github.com/frappe/frappe_docker/issues/1605#issuecomment-2788036203

According to revant’s hints in this link, it seems that this method no longer works. I hope more people can give their own practices and suggestions, thank you!

I tried a different approach

After installing the system according to the official instructions, I manually created a new site, using the following two commands, but unfortunately, erpnext is still installed on the new site, what can I do to make the new site only install frappe?

docker-compose exec backend bench new-site --mariadb-user-host-login-scope=% --db-root-password admin --admin-password admin test.mydomain.com

docker-compose exec backend bench new-site --mariadb-user-host-login-scope=% --db-root-password admin --admin-password admin test.mydomain.com --install-app=frappe