Frappe Cloud vs self-hosted Frappe CRM

Frappe Cloud suits teams that want the vendor to run the site, while self-hosting suits teams that need the data and servers inside their own infrastructure. The choice turns on control, operating effort and whether ERPNext shares the same site.

On this page

When Frappe Cloud or self-hosting fits your team

Frappe Cloud fits a sales team that wants Frappe CRM running without anyone managing servers. Frappe Cloud sells per-site plans, and the Frappe CRM product page gives the starting price as 5 US dollars a month per site, with unlimited users and no per-seat charges, billed by usage. Choose it when no one on the team wants to own patching, backups, TLS or the Frappe bench, and when the data can live in the vendor's hosting. Before you sign, confirm with Frappe which region the site runs in, what backup and restore options the plan includes, and how upgrades are scheduled. Also confirm the usage metering, because the monthly figure is a starting point and your bill depends on what your site consumes.

Self-hosting fits when hosting location, control or existing skills decide the question. Run Frappe CRM on your own servers with the easy-install script or the ghcr.io/frappe/crm image when data residency rules, an air-gapped network or in-house infrastructure require it, or when your platform team already runs Linux, Redis, MariaDB and reverse proxies well. The cost moves from a monthly site fee to staff time and infrastructure you already pay for, and it grows with the work of upgrades, backups and monitoring. Ask whether your team can test a Frappe upgrade before production and whether it can restore a backup on a schedule you have proven.

The subscription is not a lock-in. Frappe states that customers are free to self-host or move to another provider, so a Frappe Cloud start does not close off self-hosting later. Moving still takes planning, especially when ERPNext shares the same site, because the CRM to ERPNext sync works only when both apps run on that site. Put the move path in your contract questions: how you export your site data, which Frappe and ERPNext versions you must match, and who carries the work if you change hosts.

Frappe Cloud and self-hosted Frappe CRM side by side

This table sets Frappe Cloud per-site plans against running Frappe CRM on your own servers, across cost, install method, ERPNext on the same site, upgrades and data location. Where a cell says confirm, the answer depends on your contract, environment or staffing, so verify it before you decide.

FactorFrappe CloudSelf-hosted Frappe CRM
LicenseFrappe CRM is AGPL-3.0; the license does not change with hostingFrappe CRM is AGPL-3.0; the license does not change with hosting
Cost modelPer-site plans start at 5 US dollars a month per site (Frappe CRM product page), billed by usage, with unlimited users and no per-seat chargesNo platform fee for the software; you pay for servers, storage, backups and the staff time to run them
Who runs the platformFrappe hosts and operates the sites under the chosen planYour team or a services partner installs, patches and monitors the stack
Install methodsManaged by the platform; no install step on your sideEasy-install script, the ghcr.io/frappe/crm container image, or bench for development
ERPNext on the same sitePossible on the same site; confirm the plan and app bundle you need with FrappePossible on the same site; you control app versions, but also own the compatibility of Frappe CRM and ERPNext
Version compatibilityFrappe manages the platform; confirm which Frappe and ERPNext versions your plan supportsThe stable v1.x branch works with Frappe and ERPNext versions 15 and 16; you choose when to move
Upgrade responsibilityShared or provider-managed; confirm the upgrade schedule, maintenance windows and rollback terms in writingYour team plans, tests and runs each upgrade, including backups before change
Data locationData is hosted by Frappe Cloud; confirm the hosting region and data residency termsData stays in the infrastructure you select, including your cloud account, data center or air-gapped network
Exit pathFrappe states customers are free to self-host or move to another provider; confirm export steps and timingNo provider exit step; moving to a managed host later requires a data export and site migration

Where the data lives and what compliance asks of each model

Frappe Cloud and self-hosting answer the same compliance questions differently: where the database sits, who can reach it, how people sign in and what proof an assessor can be shown. The cards below cover the decisions that change most between the two models and the points to confirm before you choose.

Data location and residency

On Frappe Cloud, the region and data center that hold your site database and backups are set by Frappe, not by you. Ask Frappe in writing which regions are available, where backups are stored and whether any data leaves that region for support or monitoring. In a self-hosted deployment, the location is whatever cloud account, data center or air-gapped network you choose, and you own the answer. Record the location for every copy, including backups and the test environment.

Administrative access to the database

Decide who can open a shell, read the database or restore a backup. On Frappe Cloud, Frappe staff operate the infrastructure under the terms of your contract, so ask what access they hold, how it is logged and how you would be told of a support access event. When you self-host, your own administrators hold this access, which gives you direct control and also makes your privileged access list the main audit item. Keep the list short and reviewed.

Sign-in and role governance

Frappe CRM uses Sales User, Manager and Admin roles, and its sales hierarchy limits what each user can see. Those roles and visibility rules are only as strong as the sign-in behind them. Confirm how each model handles single sign-on, multi-factor authentication, account deprovisioning and periodic role reviews. Document who may grant the Admin role, because that role can change how records are viewed across the team.

Evidence for an assessment

An assessor will ask for proof that a control works, not only that it exists. On Frappe Cloud, you rely on the provider's own reports and any certifications it holds, so request them and check their scope and date. When you self-host, you generate the logs, access reviews and backup restore tests yourself. DeployOpen prepares controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and certification bodies do that work.

Contract terms and exit rights

Compliance obligations follow the data, so the contract matters as much as the architecture. Frappe's product page states that customers are free to self-host or move to another provider, but confirm the export format, the notice period, data deletion timing and who pays for migration in your own agreement. Confirm these with Frappe directly, along with the hosting location and any certifications, because this guide does not set those terms.

Which Frappe CRM features behave the same on both paths

The core application features are identical whether you run Frappe CRM on Frappe Cloud or on your own servers, because both paths deploy the same codebase from the frappe/crm repository. Leads and deals with Kanban and custom views, the single lead or deal page with activities, notes and tasks, web forms that create leads, assignment rules, the sales hierarchy that limits what users can see, email accounts and templates, and the Sales User, Manager and Admin roles all behave the same way on either path. Meta lead syncing is in the same category, but its connection depends on credentials covered in the next paragraph. The practical consequence is that a feature evaluation run on a Frappe Cloud trial site is a fair test of what you would get self-hosted, so your sales operations team can validate workflows before you choose a hosting path.

What differs is the set of external connections that the hosting path has to supply. Built-in Twilio and Exotel calling with call recording, and WhatsApp messaging through the Frappe WhatsApp app, need provider credentials and webhook reachability, and the way you store and rotate those secrets depends on whether you control the server environment. Outbound email for email accounts and templates needs an SMTP or mail service that your chosen host allows you to reach. Meta lead sync needs app credentials and a publicly reachable callback. Any custom app you install beside Frappe CRM also has to be supported on the plan you pick. Confirm each of these with Frappe Cloud for the specific plan and region you intend to buy, and ask your own team to verify the same items on a self-hosted build, since the feature code is shared but the network path and secret handling are not.

Before committing, write a short checklist that names each telephony, messaging, email, Meta and custom-app dependency, the owner who will hold its credentials, and the test that proves it works on the target host. Run that test end to end, including a recorded call and a message delivered from a template, because a feature that passes a demo can still fail on a missing outbound port or an unsupported add-on. Keep the list with your migration plan, since the same dependencies will need to be rebuilt if you later move between the two paths.

How ERPNext on the same site changes the decision

If the team needs Frappe CRM for leads, deals, calling and messaging but has no ERPNext plans, the ERPNext integration is not a factor. The hosting choice then turns on cost model, data control and who will patch the server. Frappe Cloud bills per site, and the Frappe CRM product page says plans start at 5 US dollars a month per site with unlimited users and no per-seat charges, billed by usage. Self-hosting moves that cost into your own infrastructure and staff time, and the product page says customers are free to self-host or move to another provider, so the choice is reversible in principle.

  • Recurring cost: On Frappe Cloud the platform fee is the main recurring line. Self-hosted, you pay for servers, backups and the people who run them.
  • Upgrades: Release tracking is yours on a self-hosted install. Frappe CRM v1.88.0 followed v1.87.0 by a week, so plan a standing upgrade window.
  • Data control: Self-hosting keeps the database and backups inside your own environment.
  • Scope creep: A CRM-only site can still grow into ERPNext later, which is why the next tab matters.

Before you decide, confirm with Frappe which per-site resources and backup services are included in the plan you need, and ask DeployOpen for a written scope covering install, hardening and upgrades if you self-host.

What your team runs in each model

This table lists the operating tasks that come with running Frappe CRM, and for each one shows who carries it on Frappe Cloud and who carries it on your own servers, with the skills it needs. Read it as a checklist of responsibilities: the more rows that fall to your team, the more platform and Frappe administration skill you need in-house. Where a task depends on versions or vendor terms, the cell tells you what to confirm.

Operating taskFrappe CloudSelf-hosted (easy-install script or container image)
ProvisioningFrappe Cloud creates and runs the site on the plan you choose; you manage the site, not the servers.Your team provisions the host, runs the easy-install script or the ghcr.io/frappe/crm image, and needs Linux, container and networking skills.
App installsInstalled through the Frappe Cloud dashboard for the site.Installed with bench or the install script on the same bench as ERPNext if you want them on one site. Needs Frappe bench command-line skills.
Version alignmentFrappe Cloud manages the Frappe, ERPNext and CRM versions available to your site; confirm which versions your plan offers before you commit.Your team picks the stable v1.x line, which the frappe/crm README says is compatible with Frappe and ERPNext versions 15 and 16. Someone must track releases such as v1.88.0, released October 15, 2026, and test before upgrading.
Backups and restoresConfirm backup frequency, retention and restore steps in the Frappe Cloud terms and plan documentation.Your team designs, schedules, stores and tests backups of the site database and files, and rehearses restores. Needs database and Linux administration skills.
MonitoringFrappe Cloud monitors the hosted infrastructure; ask which alerts and logs you can see as the site owner.Your team sets up host, container, database and application monitoring and alerting. Needs observability skills and an on-call path.
Security patchesFrappe Cloud applies platform updates; confirm the patch window and how you are notified.Your team patches the operating system, container runtime, database and Frappe components, and tracks security advisories for each. Needs hardening and patch management skills.
User administrationCreate users, roles (Sales User, Manager, Admin) and sales hierarchy rules in the CRM, the same way on either model.Same CRM role and hierarchy work, plus any SSO or identity integration you build and run yourself. Confirm which login options your setup supports.
Vendor and community supportSupport depends on your Frappe Cloud plan; confirm response channels and scope in writing.Support comes from the Frappe community, your own staff or a service provider you contract. Ask any provider for a written scope before work begins.

Moving Frappe CRM between Frappe Cloud and your own servers

This sequence moves a Frappe CRM site, and any ERPNext data on the same site, between Frappe Cloud and your own servers without losing records or breaking the integrations that depend on them. Each step ends with a check you can confirm before moving on.

  1. Confirm source and target versions match

    Before anything moves, record the Frappe CRM version and the Frappe and ERPNext versions running on the source site, then confirm the target runs the same major line. Frappe CRM's stable v1.x branch is compatible with Frappe and ERPNext versions 15 and 16, so check the frappe/crm README for the current range. Ask whoever runs the target for a written version list. The step is done when both sides show matching versions in a single document that the migration owner signs off.

  2. Freeze changes and take a full backup

    Agree a cut-off window with the sales team so no leads, deals or ERPNext records change during the export. Then create a full backup of the site database and the site files, including uploaded attachments, call recordings and email templates. On Frappe Cloud, use the backup and download options available to your plan. On a self-hosted source, use the bench backup process for your installation. The step is done when you have a backup file, its checksum and a test restore of it to a scratch environment.

  3. Restore the site to your own servers

    Provision the target using the easy-install script or the ghcr.io/frappe/crm image, or a bench setup if your team manages it that way. Restore the database and the files from the verified backup, and run the migration steps for the installed app versions. Keep the target on a private address until verification is complete. The step is done when the target loads the Frappe CRM interface, the record counts for leads, deals and customers match the source, and the ERPNext documents on the same site are present.

  4. Re-verify the ERPNext integration

    Because most ERPNext syncing works only when both apps run on the same site, test the integration on the restored target before any user touches it. Convert a test deal to Won in a non-production record and confirm the expected ERPNext quotation and customer are created, then remove the test records. Check that the status that triggers customer creation still matches your configuration. The step is done when the test results are logged and the sales lead has approved them.

  5. Re-verify email, telephony and Meta connections

    Reconnect each external service on the target and treat it as a new connection. Re-authenticate the email accounts and confirm inbound and outbound messages work, including templates. Re-enter or re-authorize Twilio or Exotel credentials and place a test call with recording. Reconnect Meta lead ads and send a test lead through the web form and the ad path. Your provider and the sender domain may need allow-list or webhook changes, so confirm those with each provider. The step is done when a test message, call and lead appear correctly in Frappe CRM.

  6. Rehearse rollback before cutover

    Write down the rollback path: which DNS record changes back, how the source site stays readable, and who decides to roll back and by what signal. Confirm the source remains intact and has not accepted new writes during the rehearsal. Frappe's pricing page states that customers are free to self-host or move to another provider, but the rollback still depends on your own tested procedure. The step is done when the rollback has been rehearsed on a copy and the owner has approved the written plan.

  7. Cut over DNS and move users

    Lower the DNS time-to-live for the CRM hostname ahead of the window, following your DNS provider's guidance, then point the hostname at the target. Announce the change to users with the new login address and any browser steps needed for the home-screen app. Watch login errors, failed integration jobs and telephony events during the first working period. The step is done when all users sign in on the new host, scheduled integration jobs complete, and the source is set to read-only as your rollback plan specifies.

  8. Retire the source after verification

    Keep the source backup and the read-only source site until the business has run through its normal cycle on the target and the rollback window in your plan has closed. Then remove the source, revoke its API keys and webhook secrets, and delete the connected email and telephony credentials from the old host. Record the final state in your runbook. The step is done when the decommission checklist is signed off and the old credentials no longer work.

Questions buyers ask before choosing a hosting model

What drives the cost of self-hosting Frappe CRM compared with a Frappe Cloud site plan?

The Frappe CRM product page lists Frappe Cloud plans from 5 US dollars a month per site, with unlimited users and no per-seat charges, billed by usage. That figure is the vendor's starting point, not your total. Self-hosting shifts cost to servers or cloud accounts, backups, monitoring, TLS certificates, patching and the staff hours to run them. Ask for each component in a written quote: who pays the infrastructure bill, who maintains the host, and what recurs each month versus what is one-time setup. Frappe Cloud's usage billing will rise with the workload you put on a site, so model your expected sites, storage and ERPNext use before comparing.

Can a team run self-hosted Frappe CRM without outside help?

Yes, if your staff can operate a Linux server, a database and a container or bench-based deployment. Frappe CRM can be installed with Frappe's easy-install script or the ghcr.io/frappe/crm image, and developers can use bench. The harder part is the operating routine: backups that restore cleanly, upgrades between releases, and access control. Test those steps on a non-production copy before you rely on them. If the skills are missing, DeployOpen plans, implements, backs up, upgrades and documents self-hosted platforms in your own infrastructure under a fixed-scope written agreement, and offers ongoing support as a retainer.

What skills and staff time does self-hosted Frappe CRM need?

Plan for three skill areas: Linux and container or server administration, database operations for the Frappe stack, and application administration for CRM roles, email accounts, telephony and integrations. The frappe/crm README covers the install options, but it does not give an effort estimate, so ask any implementation partner for a written breakdown of tasks and who performs each one. Also confirm who handles on-call response, because the CRM depends on the host being available to sales staff.

How do upgrades differ between Frappe Cloud and a self-hosted Frappe CRM?

On Frappe Cloud, the platform operator runs the hosting environment, so your team's job is to review changes and test them against your workflows. When self-hosting, your team or partner applies each update to the bench or container, runs migrations, and rolls back if something fails. The frappe/crm releases show a steady cadence, with v1.87.0 on October 9, 2026 and v1.88.0 a week later, so a routine has to keep pace. Stable v1.x is compatible with Frappe and ERPNext versions 15 and 16, so confirm the version pairing before any upgrade window.

Does ERPNext have to run on the same site as Frappe CRM?

Not for the CRM to run, but most of the ERPNext integration only works when both apps share one site. The Frappe CRM ERPNext integration can create ERPNext quotations from deals and create an ERPNext customer when a deal is marked Won or reaches a chosen status. If you plan to keep those syncs, the hosting decision is also an ERP decision. Put the site layout in writing: which apps run on which site, how many sites you will pay for on Frappe Cloud, and how a later move would separate or combine them.

What should a written scope or quote for a hosting project include?

Ask for a document that names the hosting target, the Frappe and ERPNext versions, the apps on each site, and the Frappe CRM version you will deploy. Require the list of deliverables, including install, identity and access setup, backup and restore tests, upgrade procedure, and handover documentation. Add the boundaries: what is excluded, who owns cloud accounts and servers, and the change process when scope moves. Confirm acceptance criteria and the support model after go-live. DeployOpen works from a written scope agreed before work starts and does not publish a price list, so a quote follows from that scope.

Can a company move Frappe CRM from Frappe Cloud to its own servers later?

Frappe states that customers are free to self-host or move to another provider, which makes an exit path part of the model. Before you move, confirm how data, files and integrations transfer, how email accounts and telephony settings are re-created, and how users are re-authenticated. Test a restore on your own infrastructure and record the cutover steps. Ask any partner to describe the rollback plan and the time the sales team would be without the CRM.

What a self-hosted Frappe CRM engagement covers

A self-hosted Frappe CRM install starts with a written scope, not a server order. DeployOpen agrees the scope, deliverables and timeline in writing before work starts, and most engagements are fixed-scope. For Frappe CRM, that scope should name the hosting target (your cloud account, a data center or an air-gapped network), whether ERPNext runs on the same site, which roles (Sales User, Sales Manager, System Manager) and sales hierarchy rules apply, and which telephony, WhatsApp, email and Meta lead connections are in or out. Each of these changes the work, so ask for them to be listed as separate deliverables.

The rest of the engagement covers hardening, backup and upgrade planning, and documentation. Hardening typically covers the host, the database, the Redis and web tiers, secrets handling, and access to the admin interface. Backup and restore needs to be tested, not just scheduled, and the upgrade plan should match the Frappe and ERPNext version pairs your stable branch supports. Documentation should give your operators a runbook for installs, updates and rollbacks. DeployOpen runs in the client's own environment, so every system, log and backup stays under your control. Ongoing support, upgrades and continuous testing are available as retainers, which you can add once the initial handover is complete.

DeployOpen does not publish prices. A quote follows from the written scope, so ask for line items for discovery, installation, hardening, integration work, testing, documentation and any retainer, and confirm which items are one-time and which recur. Ask your own team to confirm the hosting costs, staffing and on-call coverage they will carry after handover, since those drive the total cost of ownership more than the installation itself.

How DeployOpen scopes, delivers and supports self-hosted Frappe CRM

DeployOpen plans, implements, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside the client's own infrastructure. For Frappe CRM, that means working out whether a self-hosted site, an ERPNext-linked site or a Frappe Cloud site fits your data, network and team, then delivering the chosen option under a written scope.

How we scope

  • Agree in writing which hosting option applies: your own servers, your cloud account, or a Frappe Cloud site.
  • Confirm whether ERPNext will share the same site, since most CRM-to-ERPNext syncing depends on it.
  • Define data residency, backup location, user roles and telephony or WhatsApp needs before work starts.

How we build

  • Install Frappe CRM with the easy-install script, the container image or a bench setup, as the agreed scope requires.
  • Configure the sales hierarchy, assignment rules, email accounts, web forms and Sales User, Manager and Admin roles.
  • Test the ERPNext integration, lead flows and access controls on the agreed site before users are onboarded.

How we hand over

  • Document the installed topology, configuration, backup and restore steps, and the upgrade path for each release line.
  • Record the exit path, including the export and migration steps needed if you later move between self-hosting and a hosted site.
  • Walk your administrators through day-two tasks so your team can run the site without us for routine work.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, scoped separately from the build.
  • Plan upgrades against Frappe CRM and Frappe Framework release notes, with a rollback plan written before each change.
  • Confirm with your compliance team which evidence you need, since DeployOpen prepares controls and records but does not issue audit reports.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.