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

@sx98083714 I have the same problem as him.

if you want you can use my script to quickly spin up development containers with Frappe only.

Do not use this for production though

I use nas synology, I want to develop frappe for company but I don’t like erpnext. I want to install frappe framework only.

try the below without ERPnext but i think you will need at least one so use wiki as its very small and simple

To create docker multi-site and multi-app please use easy-install.py: -

  1. wget https://raw.githubusercontent.com/frappe/bench/develop/easy-install.py

  2. git clone GitHub - frappe/frappe_docker: Docker images for production and development setups of the Frappe framework and ERPNext

  3. In “frappe_docker/development/apps-example.json” edit your apps with their branch: -
    [
    { “url”: “https://github.com/frappe/erpnext”, “branch”: “version-15” },
    { “url”: “https://github.com/frappe/hrms”, “branch”: “version-15” },
    { “url”: “https://github.com/frappe/education”, “branch”: “version-15” },
    { “url”: “https://github.com/frappe/crm”, “branch”: “main” },
    { “url”: “https://github.com/frappe/wiki”, “branch”: “master”},
    { “url”: “https://github.com/Aakvatech-Limited/CSF_TZ”, “branch”: “master”}
    ]

  4. python3 easy-install.py build

  5. python3 easy-install.py deploy --image=custom-apps --version=latest --sitename=bench3site1.duckdns.org --sitename=bench3site2.duckdns.org --sitename=bench3site3.duckdns.org --app=erpnext --app=hrms --app=education --app=crm --app=wiki --app=csf_tz

For step 4 and 5 if you want more options rather than default values please check out GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps

Don’t forget to add the sites to your host file