Skip to content

Self-host ERPNext

updated Sep 2026prices checked · Jul 2026
We earn commissions when you shop through the links below. Full disclosure →

ERPNext is a GPL-3.0 open-source ERP from Frappe covering accounting, order management and inventory, manufacturing, asset management and projects, built on the MIT-licensed Frappe Framework. There is no paid edition of the software — Frappe sells managed hosting (Frappe Cloud), not features. HR and payroll live in a separate GPL-3.0 app, Frappe HR. It self-hosts through the official frappe_docker stack: MariaDB, two Redis instances, the web backend, background workers, a scheduler and a websocket service.

Key facts

CategoryERP
LicenseGPL-3.0
StackPython, Frappe Framework, MariaDB, Redis
Min RAM4096 MB
Official imageyes
Difficulty
Our recommendation

Pick ERPNext when you want a full ERP on free software: it is GPL-3.0 with no paid edition, and accounting (general ledger, bank reconciliation, budgets), order management and inventory, manufacturing, asset management and projects are all in the free product. HR and payroll are a separate GPL-3.0 app, Frappe HR, split out of ERPNext at version 14. Upstream's production route is the Easy Install script from frappe/bench, which installs Docker and deploys the official frappe_docker stack; frappe_docker's single-server guide recommends 2 vCPU, 4 GB of RAM and 50 GB of SSD, which is where our 4 GB floor sits. If your needs fit Odoo Community's free apps and you want a two-container install, Odoo is the simpler alternative in this catalog.

What you need

  • Any VPS with at least 4096 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • About the better part of a day
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# ERPNext — official Easy Install script (frappe/bench), which deploys frappe_docker
wget https://raw.githubusercontent.com/frappe/bench/develop/easy-install.py
python3 easy-install.py deploy --email=you@example.com --sitename=erp.example.com --app=erpnext
# installs Docker, pulls the images and creates the site; the Administrator and MariaDB root passwords are saved to $HOME/frappe-passwords.txt

What you take on

ERPNext's licence is simple; running it is where the work is, and frappe_docker's own docs spell out the traps:

non-negotiableIt is a stack, not a container. A frappe_docker deployment is the backend, an nginx frontend, a websocket service, a scheduler and short and long queue workers, plus MariaDB and Redis added through its compose overrides — and the one-file pwd.yml quick start is a disposable demo that upstream says is not for production. Use the Easy Install script or compose.yaml with its overrides for anything real.
non-negotiableApps are baked into the image. Installing an app into a running container (bench get-app, bench build) is not supported; adding Frappe HR or any other app later means adding it to the image build, rebuilding and redeploying. Decide which apps you need before you go live.
non-negotiableSize for the database, not the demo. frappe_docker's 4 GB is a starting point for one server; Frappe's database-tuning guide suggests starting a database server at 8 GB of RAM and 50 GB of disk, and scaling vertically as usage grows. Your books live in that database, so back it up off the server and test a restore.

Head-to-head

More self-hosted tools

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.