New: one-click Cloud Apps
All posts

Self-hosted Salesforce alternative: run your whole CRM with EspoCRM

Robert DavisAugust 17, 20265 min read
Self-hostingBusiness
Self-hosted Salesforce alternative: run your whole CRM with EspoCRM

Every growing team eventually pours its most valuable asset -- who its customers are, what they've bought, what got promised on the last call -- into a CRM. Then the bill arrives: per seat, per contact tier, per feature you didn't know was locked. Salesforce and HubSpot are very good at turning your own relationships into a recurring charge. EspoCRM is the other option -- a full-featured CRM you run on your own server, where adding a salesperson costs nothing and your contact list is a database you actually own.

What EspoCRM is

EspoCRM is an open-source customer relationship manager -- AGPL-licensed, actively developed, and used by real sales and support teams, not a weekend demo. Out of the box it handles the full arc of a customer relationship: leads coming in, accounts and contacts, opportunities moving through a pipeline, activities logged against every record, and cases when something goes wrong after the sale. It looks and behaves like the commercial products it replaces, because it's meant to. The difference is the wall. Salesforce gates custom objects, granular permissions, and API access behind higher editions; HubSpot's free tier is a doorway that narrows the moment you have real contact volume or want to send more than a trickle of email. EspoCRM gives you the full CRM -- leads to cases, unlimited users, no per-seat wall -- and asks for nothing but a server to run on.

The features that actually matter

  • A real sales pipeline. Leads convert into contacts, accounts, and opportunities, and opportunities move through stages you define -- as a list or a drag-and-drop Kanban board, each deal carrying a probability so the pipeline shows a weighted value. That's the core Sales Cloud experience without the per-seat license.
  • Email inside the CRM. Connect personal and group inboxes over IMAP and SMTP; send, receive, and template messages that stay logged against the right contact and deal. HubSpot meters email and sequences by tier -- here it's just part of the app.
  • Campaigns and mass email. Build target lists, send tracked email campaigns, and watch opens, clicks, and bounces -- the kind of marketing tooling HubSpot sells as a separate Hub.
  • No-code customization. The Entity Manager and Layout Manager let you add custom fields, whole custom entities, relationships, and per-role layouts from the admin screen, no developer required. Salesforce calls these custom objects and rations them by edition.
  • Granular access control. Roles, teams, and field-level permissions decide exactly who sees and edits which records -- the kind of fine-grained control that lives in enterprise tiers elsewhere.
  • Cases and a customer portal. Track support tickets, turn inbound email into cases automatically, and give customers or partners a branded self-service portal into only the records you choose to expose.
  • Calendar and activities. Meetings, calls, and tasks are logged as activities and roll up onto a shared calendar, so a rep's day and a record's history are the same timeline -- no separate scheduling tool to reconcile.
  • Dashboards and Stream. Pin chart and list dashlets to a personal dashboard, and follow an activity Stream with @mentions, so the team collaborates inside the CRM instead of in a side chat.

Why self-host it instead of the hosted version

Three reasons, and they compound.

Your data stays yours. A CRM is your customer list, your deal notes, your entire commercial memory. On a hosted plan that lives on someone else's servers, subject to their retention policy, their analytics, and their export limits. Self-hosted, it's a database on a machine you control, and "export everything" is a query, not a support ticket.

The cost doesn't scale per head. EspoCRM's open-source edition is free. Add your fifth salesperson, your fifteenth, your fiftieth -- the license cost stays exactly zero. You pay for the server it runs on, and nothing else. Compare that to a per-seat plan multiplied across a growing team, every month, forever.

You control the whole thing. Choose when to upgrade. White-label the portal. Hit the REST API without unlocking a higher tier first. Need a field for a contract renewal date, or a whole entity for the sites you manage? Add it from the admin screen and it becomes part of your data model. It's your CRM, shaped to your process instead of the other way around.

Who it's for

It fits three kinds of team especially well. Small and mid-size sales teams watching per-seat Salesforce or HubSpot creep past what the tool is worth, who want the same pipeline without the licensing math. Agencies and consultancies juggling many client relationships at once, who want a branded portal and custom entities that mirror how they actually work. And privacy-conscious organizations -- healthcare, legal, finance -- that can't put customer records in a third party's cloud and need the whole system inside their own walls.

The honest setup notes

Let's be straight about what running EspoCRM yourself involves. It's a PHP application backed by a MariaDB or MySQL database, so you're maintaining a database, not just a container. It needs a cron job running every minute for scheduled work -- inbound email, campaigns, and reminders all depend on it, and it fails quietly if the cron isn't there. You'll wire up IMAP and SMTP before email does anything. Then the perennials: backups of the database and uploads, and version upgrades to apply on a cadence. Worth knowing up front: the visual Workflow/BPM builder and the saved Reports module are paid Advanced Pack extensions -- the free core gives you dashboards, formula scripting, scheduled jobs, and webhooks instead.

It isn't a heavy app -- a small team runs comfortably on a modest box -- but it is a stack: PHP, a web server, and a database that all want to be on compatible versions when an upgrade lands. None of that is hard. It's just steady, unglamorous ownership -- the exact chore that turns "we self-host our CRM" into a background task nobody wants. Or let us run it.

Deploy it in one click

Rolling your own means provisioning a box, installing PHP and a database, wiring the cron, hardening the web server, and owning every upgrade after that. On Caliber Node you deploy EspoCRM in one click instead. We stand up the app and its database, keep the scheduled jobs running, handle TLS, and take care of the plumbing that would otherwise eat your weekend. You still get the real thing -- full admin access, SFTP to the files, the REST API, and your data exportable whenever you want it. It's the ownership of self-hosting without the pager. You manage customers; we manage the server underneath EspoCRM.

First run

  1. Open EspoCRM and sign in with your admin account.
  2. Create a team or two and add your users, assigning each a role.
  3. Configure the outbound email account under Administration so the CRM can send.
  4. Create your first Lead, then convert it into a Contact and an Opportunity.
  5. Drag that opportunity across your pipeline stages on the Kanban board -- and there's your first tracked deal.

From there, every call, email, and note attaches to the record, and the pipeline becomes the single place your team looks.

The bigger picture

The relationships a business builds are the business. It's a strange bargain to rent the place you keep them, on terms that get more expensive precisely as those relationships grow. Owning your CRM flips that: the tool serves the work instead of metering it, and the value your team creates stays on your side of the ledger. EspoCRM shows you don't have to trade capability for control -- you get the full pipeline, the campaigns, the portal, and the ownership all at once.

Deploy EspoCRM in a few minutes → https://calibernode.com/cloud-apps

Or browse the full app catalog to see what else you can own.

One-click self-hosted apps, managed for you -- real logs, SFTP, and your data always exportable. Never a black box.

Ready to deploy?

Deploy an app from the catalog in minutes. No contracts, no setup fees.