Open-source CRM: what self-hosting really costs
A free licence doesn’t make a free CRM. The cost lines of self-hosting, how licences differ, what the AGPL asks of you, and how to tell whether it makes sense for your team.
“Open source” answers one question: can you read, run and change the code? It doesn’t answer the question a small company cares about, which is what running it will cost. The licence may be free. Everything around it isn’t.
Here’s how to work out the real number before you commit, with no made-up figures: prices change, and yours depend on your host.
The five cost lines
1. Compute. The application has to run somewhere: a virtual server, or a serverless platform that bills by usage. A small team’s CRM doesn’t need much, but it needs to be up when someone opens it.
2. Database. Nearly every CRM needs a real database, and it’s the part you can’t lose. A managed one costs more than running your own on a server, and it buys you backups and upgrades. Some serverless databases sleep when idle, which helps a CRM that nobody opens at night, as long as the app doesn’t wake them for nothing.
3. Backups you have tested. A backup you’ve never restored is a hope. Budget an hour to restore one somewhere else, and do it again after each big upgrade.
4. Mail and integrations. Password resets and invitations need a mail provider, and a verified domain. Syncing Gmail and Google Calendar means your own Google OAuth client, and if you connect outside your own organisation, Google’s review of the app.
5. Someone’s time. This is the line people leave out, and usually the largest. Security updates, framework upgrades, a migration that fails on a Friday. Put a name next to it. If you can’t, that’s your answer.
How to get your number
Take your host’s current price page and write this down for twelve months:
| Line | How to estimate it |
|---|---|
| Compute | Your host’s smallest plan that fits, or its usage pricing at a low daily volume |
| Database | Storage for your records plus backups; check the price of its always-on and idle hours |
| Most providers have a free tier that covers a small team’s own mail; check its limits | |
| Time | Hours per month × what an hour of that person costs you |
Then compare with the hosted price of the same software, or of a closed product you’d consider. If the time line wins the argument, a hosted edition is probably the better deal, even at a higher monthly price.
Licences aren’t all the same
“Open source” covers very different deals. A few CRMs and their licences, as stated in their repositories when we checked on 6 November 2026:
| Project | Licence |
|---|---|
| EspoCRM | AGPL-3.0 |
| SuiteCRM | AGPL-3.0 |
| Twenty | Mostly AGPL-3.0, with certain files under a commercial licence |
| Dolibarr | GPL-3.0 |
| Odoo | LGPL-3.0 for the code in that repository |
| Krayin | MIT |
| Soldlyne | AGPL-3.0 |
What to read for: can you run it for your own company with everything you need, or do the features you want sit in a paid edition? This table can’t tell you that. The project’s own pricing page and repository can.
What the AGPL asks of you
The AGPL-3.0 is a copyleft licence written for software people use over a network. Its section 13 says that if you modify the program, your version must offer the users who interact with it remotely a way to get its source code.
In practice, for a small company:
- Running it unmodified, for your own team: nothing more to do.
- Modifying it, for your own company’s staff: read section 13 with your own situation in mind; when in doubt, ask a lawyer, since this isn’t legal advice.
- Offering a modified version to customers over a network: publish your changes under the same licence.
When self-hosting makes sense
It tends to make sense when:
- someone on the team already looks after servers, and would notice if this one went down;
- you have a reason to control where the data sits or which contracts cover it;
- you want to change the code, or at least know you could.
It tends not to when nobody owns it. An unmaintained CRM with customer data on it is a liability, whatever it cost to install.
A short checklist before you decide
- Who applies updates, and how do they hear about security fixes?
- Can you restore yesterday’s backup somewhere else, today?
- What happens if that person leaves?
- Does the database role the app uses bypass your access controls? On Soldlyne, for instance, a Postgres superuser sees every row unless it takes the app’s restricted role, so that’s worth checking with your host.
- Can you leave? Export the data, and open it with something else.
If you can answer all five, self-hosting is a real option. Soldlyne’s set-up page says what it needs, and its pricing page says plainly that hosted plans aren’t set yet.