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.
| Factor | Frappe Cloud | Self-hosted Frappe CRM |
|---|---|---|
| License | Frappe CRM is AGPL-3.0; the license does not change with hosting | Frappe CRM is AGPL-3.0; the license does not change with hosting |
| Cost model | Per-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 charges | No platform fee for the software; you pay for servers, storage, backups and the staff time to run them |
| Who runs the platform | Frappe hosts and operates the sites under the chosen plan | Your team or a services partner installs, patches and monitors the stack |
| Install methods | Managed by the platform; no install step on your side | Easy-install script, the ghcr.io/frappe/crm container image, or bench for development |
| ERPNext on the same site | Possible on the same site; confirm the plan and app bundle you need with Frappe | Possible on the same site; you control app versions, but also own the compatibility of Frappe CRM and ERPNext |
| Version compatibility | Frappe manages the platform; confirm which Frappe and ERPNext versions your plan supports | The stable v1.x branch works with Frappe and ERPNext versions 15 and 16; you choose when to move |
| Upgrade responsibility | Shared or provider-managed; confirm the upgrade schedule, maintenance windows and rollback terms in writing | Your team plans, tests and runs each upgrade, including backups before change |
| Data location | Data is hosted by Frappe Cloud; confirm the hosting region and data residency terms | Data stays in the infrastructure you select, including your cloud account, data center or air-gapped network |
| Exit path | Frappe states customers are free to self-host or move to another provider; confirm export steps and timing | No 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.
When Frappe CRM and ERPNext run on the same site, the integration can create an ERPNext quotation from a deal and can create an ERPNext customer when a deal is marked Won or reaches a status you choose. Most of this syncing works only when both apps are on the same site. For this team, the site is the unit of decision: hosting, backups and upgrades apply to the CRM and the ERP together.
- Shared site, shared upgrade path: Frappe CRM's stable v1.x branch targets Frappe and ERPNext versions 15 and 16, so the two apps must move together.
- Hosting: Frappe Cloud per-site pricing covers the combined site, so ask how ERP usage affects the plan.
- Self-hosting: One server, one bench and one backup routine carry both apps, which simplifies operations but raises the impact of a failed upgrade.
- Customer records: Confirm which system is the master for customers and quotations before go-live.
Illustrative example: a team that marks deals Won and expects an ERPNext customer to appear automatically should test that path on a staging copy of the same site before relying on it. Ask Frappe for the current integration behavior and DeployOpen for the test plan in writing.
If ERPNext is already live on its own site, most of the integration described in the Frappe documentation will not run across sites. That leaves two options: move the CRM onto the ERPNext site, or keep them separate and accept manual handoffs. Neither is free. Moving the CRM onto the ERP site changes the hosting decision because the CRM then shares an upgrade calendar with the ERP. Keeping them separate keeps the CRM upgrade cycle independent but leaves quotations and customers to be re-keyed or synced by a custom process.
- Who owns ERPNext upgrades: If an internal ERP team already patches ERPNext, that team should decide whether the CRM joins its schedule.
- Separate sites: Each site needs its own backup, monitoring and upgrade routine, which doubles the recurring work.
- Migration cost: Moving a CRM onto an existing ERP site is a planned change with data to validate, so price it as a project.
- Custom sync: Any cross-site sync is custom work you own after delivery.
For the module-level comparison of the two CRMs, see the sibling topic on Frappe CRM vs ERPNext CRM. Confirm the upgrade owner and the migration path in writing before you choose a hosting model.
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 task | Frappe Cloud | Self-hosted (easy-install script or container image) |
|---|---|---|
| Provisioning | Frappe 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 installs | Installed 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 alignment | Frappe 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 restores | Confirm 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. |
| Monitoring | Frappe 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 patches | Frappe 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 administration | Create 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 support | Support 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.
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.
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.
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.
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.
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.
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.
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.
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.

