Where should your ERPNext run?
Four honest routes — Frappe Cloud, your own cloud account, your own data centre, or self-hosting — and the questions that pick between them. The same build runs on all four; the difference is whose name is on the account, who holds the keys, and who gets the 3 a.m. call.
01 · The decision we put to every customer: rent or own
| Own | Rent | |
|---|---|---|
| Whose cloud account | Yours — Google, AWS, Hetzner, or your own Frappe Cloud team, in your name, on your card | Ours. We provide a built, running environment |
| Whose code | Yours — a git repository you control: configuration-as-code, custom apps, deployment scripts, runbooks | Same code, same discipline — hosted on our account until you take it |
| Whose IP | Entirely yours. No licence, no lock-in, no dependency on us | Yours on transfer, whenever you choose |
| Infrastructure cost | Paid direct to the provider, at cost | Billed monthly inside the environment fee, at cost |
| Who operates it | You do — see §06 | You still do — see §06 |
| Suits | Control, a long horizon, existing or intended internal capability | Starting without standing up infrastructure, or deferring the ownership decision |
02 · The decision tree
Answer top to bottom. The first question that gives a definite answer usually decides it.
africa-south1, AWS af-south-1).03 · The four routes, costed
| Route | What it is | Monthly, ex-VAT | Included | You must provide | Choose when |
|---|---|---|---|---|---|
| A · Frappe Cloud site Johannesburg or Cape Town | Frappe hosts a site on a shared or private bench, in a Frappe Cloud team and on a card that are yours | $25 Standard (≈R460) · $50 Enterprise (≈R920) · +$25 for a private bench with custom apps | Daily and off-site backups, monitoring, upgrades, TLS, custom domain, SSH, first-party support | A System Owner. Nothing technical | 2–10 users, no custom apps or a modest one, nobody wants to run a server. The default. |
| B · Frappe Cloud dedicated server | A VM only yours, still managed by Frappe; unlimited sites and benches; static IP; SSH to the bench | from ~$40 + Frappe's fee (≈R1,100–1,500); Hetzner variants cheaper than AWS | As A, plus isolation, a fixed IP and room for UAT beside production | A System Owner. Nothing technical | Payment providers that whitelist an IP; several sites; heavier compute; a patched connector you want to run yourself |
| C · Your own cloud VM GCP africa-south1 or AWS af-south-1 | Our scripted image on a VM in your project; Cloudflare tunnel; full bench access; we maintain it under the managed service | ≈ R2,200 for 4 vCPU / 16 GB at list (shared server across several sites ≈ R1,200) | Root. Whatever you put next to it: BI stack, connectors, portals | The cloud account and its billing; backups and monitoring are ours to build and yours to pay for | Custom apps beyond Frappe Cloud limits, heavy integrations, BI co-located, or you already run that cloud |
| D · Your data centre | A clean Debian server you own; Docker; our container stack; published through an outbound-only tunnel; we install and run everything above the OS | Your hardware — no cloud line. Our managed service on top | Control. No public listener, no inbound firewall rule | The server, network, a static outbound IP, OS patching, a backup destination, physical availability | Group IT policy, data that must stay on your metal, or you already run a data centre |
| E · Self-hosting | Any of B–D, run by your own team with our runbooks; we are a phone call, not a line item | Infrastructure only | Independence | A technical maintainer who has tested a restore | You have the team, or intend to build it. Legitimate and supported |
04 · Frappe Cloud in detail
- Regions: Johannesburg and Cape Town exist. Pick Johannesburg unless you are in the Cape.
- Teams and roles: production lives in a team you own; make us Admin from day one. A Member cannot install apps or change plans.
- Shared bench vs private bench: shared benches get Frappe's weekly updates and cannot carry custom apps — evaluation only. A private bench group is where a custom app from GitHub, version pinning and updates on your schedule live.
- Two kinds of credential: the Frappe Cloud dashboard key and the ERPNext site key are different things; connectors and scripts use the site key.
- Backups: daily plus off-site copies, restore from the dashboard. Still test one.
- Migration in: a full backup from any ERPNext (database + files) restores into a Frappe Cloud site; a full backup out restores anywhere. That is the portability promise, and it works.
05 · A local data centre — the build sheet we hand your IT team
What we ask for when a customer's own infrastructure team provides the server. It is deliberately short: a clean minimal Debian with Docker is exactly the right hand-over point.
| Item | Requirement | Why |
|---|---|---|
| Operating system | Debian stable, minimal install — no desktop, no control panel | Everything above the OS is ours; control panels fight for ports 80/443/3306 |
| CPU / memory / disk | 4 vCPU · 16 GB RAM · 100 GB SSD or better | Comfortable for ERPNext + Docker with production and local backups |
| Network | Outbound HTTPS only; no inbound rule at all | The site is published through a Cloudflare tunnel that dials out. No port forwarding, no public listener |
| Static outbound IP | Known early, before go-live | Payment providers lock live keys to it; if it changes, settlements stop silently |
| Time | NTP, UTC | Webhook signatures and financial timestamps depend on it |
| Access for us | SSH, key-based | We install and maintain the stack |
| Please do not install | cPanel/Plesk, host-level MariaDB/MySQL, nginx, Apache or Redis | All of these run in containers |
| Your IT team | ERPNext Africa | You (the business) |
|---|---|---|
| Server, network, static IP, OS patching, backup destination and retention, physical availability | Docker and the application stack, configuration, integrations, upgrades, database backups, monitoring and alerting, the tunnel and published access | A System Owner, process owners, users, permissions, month-end — the system is the business |
Two things a data-centre server does not give you that a cloud does, so they must be built explicitly: there is no snapshot button — nightly dumps plus a weekly full copy held somewhere you can reach independently, and a restore tested before go-live; and there is no cloud monitoring — uptime, disk and memory alerts, and an alert if a nightly integration job fails, to a named person.
06 · The people you need, whatever the route
| Role | Must it be internal? | What it does |
|---|---|---|
| System Owner | Yes — always | Owns the system, the process, user access and the decisions. Cannot be contracted out |
| Process owners per area | Yes | The people who run stores, production, quality, sales, finance |
| Technical maintainer | No — in-house or contracted; on Frappe Cloud largely unnecessary | Patches, upgrades, backup verification, environment health |
| Developer for changes | No — contracted, or us on demand | New reports, doctypes, integrations as the business changes |
These people exist and are affordable; ERPNext and Frappe skills are widely available and the platform is learnable. Where you have nobody, we help you hire, contract or train into the roles. What we will not do is quietly become those people — that is the arrangement that fails both sides eighteen months in.
07 · Moving between routes
| From → to | What it takes | Typical effort |
|---|---|---|
| Rent (our account) → Own (your account) | Transfer the Frappe Cloud site to your team, or restore the backup into your project; repoint DNS and connectors | Half a day; designed for from day one |
| Own cloud VM → Frappe Cloud | Package hand-applied patches into an app on a private bench (the real work); restore; repoint; retire the tunnel | 1–2 days once the app exists; the app is a day |
| Cloud → your data centre | Same container image, pulled from a registry; tunnel re-created; static IP whitelisted; backups and monitoring rebuilt explicitly | Hours for the stack; the checklist above is what takes the time |
| Anything → self-hosting | Runbooks handed over; a restore test run by your team; we step back to on-call | A week of shadowing |
Sources
Frappe Cloud pricing and regions (frappe.io/cloud/pricing) and what we learned running a v16 site in Johannesburg, September 2026 · Google Cloud Billing Catalog list prices for africa-south1, 19 September 2026 · our production server build sheet for a customer's data centre, September 2026 · the ERPNext Africa operating model: we build, we don't operate.