aliteq.

Self-hosted CRM cost: Twenty vs SuiteCRM vs EspoCRM vs Odoo Community on a $5–10 server

The software is free. The $5 server mostly isn't, and your time definitely isn't. We priced four open-source CRMs over three years at 5 and 20 seats, against the hosted plans you'd buy instead.

KernelUpdated 1h ago11 min readWeb story
Flat vector illustration of a person leaning back as they carry a heavy black server tower in both arms like a moving box, a pink price tag hanging from it, on a saturated indigo-violet background
Share

A self-hosted CRM has no seat price, and that's the whole pitch. What you pay instead is a server, backups, and somebody's evenings.

We wanted to know what that adds up to. So on 2 October 2026 we read each project's licence, its server requirements and its paid plans, plus the price pages of the hosts you'd rent from. aliteq is a US company, so every figure is in US dollars. Where a vendor only quoted euros or pounds, we converted at the ECB reference rate of 25 Sep 2026 (EUR 1 = USD 1.1403, GBP 1 = USD 1.3252) and say so.

We didn't install or run these CRMs. Everything below comes from the projects' own docs and the providers' own pages. None of them pays us.

If you're still choosing between hosted CRMs, start with our eight-CRM cost comparison. This page is the self-hosted side of that decision.

The four projects at a glance

All four are free to download. They differ in language, database and how much they keep behind a paid tier.

Twenty

Licence
AGPLv3, plus a commercial licence on files marked Enterprise
Stack
Node, PostgreSQL, Redis, Docker
Latest release we saw
v2.44.0, 1 Oct 2026
Paid tier
Organization $19 a seat a month (yearly) for SSO and audit logs

SuiteCRM 8

Licence
AGPLv3
Stack
PHP 8.2 to 8.4, Apache, MariaDB or MySQL
Latest release we saw
v8.10.2, 31 Jul 2026
Paid tier
None for software; paid hosting and support

EspoCRM

Licence
AGPLv3
Stack
PHP 8.3 to 8.5, MySQL, MariaDB or PostgreSQL
Latest release we saw
10.0.9, 29 Sep 2026
Paid tier
Extensions, such as Advanced Pack at €395 a year

Odoo Community

Licence
LGPLv3
Stack
Python, PostgreSQL 13+
Latest release we saw
(repo default branch 20.0)
Paid tier
Odoo Enterprise, priced per user

Twenty is the newest and the most popular on GitHub, with about 57,800 stars. Odoo is a full business suite where CRM is one app. SuiteCRM descends from SugarCRM's old open-source edition. EspoCRM is a PHP CRM that also offers an official Docker setup.

What the licences mean for a company using one internally

Running an unmodified copy for your own staff carries no licence duty. The AGPL's extra obligation starts when you change the code. This is our summary of the licence text we read, not legal advice.

Twenty, SuiteCRM and EspoCRM ship the GNU Affero General Public License v3. Three passages matter for a company that only uses the CRM itself:

  • Running is free. Section 2: "You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force."
  • Staff logging in isn't distribution. The definitions say "Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying."
  • Modifying the code is the trigger. Section 13: "if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network ... an opportunity to receive the Corresponding Source of your version."

So the conservative reading is this. Run the stock release and you owe nothing. Patch the core code and let your team use the patched copy over the web, and you should be ready to offer those users your modified source. Fields and layouts you build in the admin screens are configuration, not code changes, in our reading. The licence doesn't spell that out.

Twenty adds two twists of its own. Files marked /* @license Enterprise */ fall under "The Twenty.com Commercial License", and that code "may only be used in production" with "a valid Twenty Enterprise Edition subscription". You may still modify it "for development and testing purposes, without requiring a subscription". Twenty also grants an extra permission: an app that talks to Twenty only through its APIs, webhooks or SDKs isn't covered by the AGPL. But "if you modify Twenty, the AGPLv3, including section 13, applies to your modified version in full."

Odoo is different. Its LICENSE file says "Odoo is published under the GNU LESSER GENERAL PUBLIC LICENSE, Version 3 (LGPLv3)". The LGPL has no network clause like the AGPL's section 13, so internal use of a modified Odoo Community doesn't trigger a source offer on that basis. Odoo Enterprise is a separate, licensed product.

None of this is legal advice. If you plan to modify and redistribute any of these, or build a product on top, have a lawyer read the licence with you.

What server each one needs

Only Twenty publishes a RAM minimum: 2GB. SuiteCRM and EspoCRM list software versions but no memory figure. Odoo publishes a sizing formula instead.

Table of what each self-hosted CRM's own docs require. Twenty: at least 2GB RAM, Docker with four containers (server, worker, PostgreSQL 16, Redis). SuiteCRM 8.10: PHP 8.2 to 8.4, Apache 2.4, MariaDB or MySQL 8, no RAM figure. EspoCRM: PHP 8.3 to 8.5, MySQL 8, MariaDB 10.3+ or PostgreSQL 15, prefers a VPS, no RAM figure. Odoo 19: PostgreSQL 13+, about 325MB per worker by Odoo's formula, one worker per about 6 concurrent users. A bar chart compares monthly server prices: DigitalOcean 1GB $6, 2GB $12, 4GB $24; Hetzner EU 4GB $7.09; Hetzner US 2GB $21.09 and 4GB $38.09.
What each project's own docs ask for, and what that size of server costs from two hosts. · aliteq research

Twenty. The Docker Compose guide says: "Ensure your environment has at least 2GB of RAM. Insufficient memory can cause processes to crash." The official compose file runs four containers: the server, a background worker, PostgreSQL 16 and Redis. Twenty also says HTTPS "is required for certain browser features to work properly", so budget for a domain and a certificate.

SuiteCRM 8.10. The compatibility matrix lists PHP 8.2, 8.3 or 8.4, Apache 2.4, and MariaDB 10.6 to 11.8 or MySQL 8.0 or 8.4. Node and Angular are listed only for front-end development, "not required for production".

EspoCRM. The server page lists PHP 8.3 to 8.5 and MySQL 8.0+, MariaDB 10.3+ or PostgreSQL 15, on Apache, Nginx or IIS. It says to "Prefer using a VPS or a dedicated server for production" but adds that "Espo can run on shared hosting environments quite smoothly." There's an official Docker setup too.

Odoo 19. The deployment guide gives a rule of thumb: "1 worker ~= 6 concurrent users". It estimates a light worker at about 150MB and a heavy one at about 1GB, with 20% of requests heavy. That works out to roughly 325MB per worker. Two workers, enough for about 12 people clicking at once, need about 650MB before PostgreSQL and the operating system.

For our math we size every project the same way: a 2GB server at 5 seats and a 4GB server at 20. The 2GB floor is Twenty's. The 4GB step is our headroom assumption, and Odoo's formula agrees with it.

Does the $5 server still exist?

Barely. The cheapest box that meets Twenty's 2GB floor in the US costs $12 a month. The famous €5 class is in Europe and showed as unavailable when we checked.

Hetzner's Cost-Optimized CX23 (2 vCPUs, 4GB RAM, 40GB disk) is €5.99 a month. Hetzner lists it at $7.09 in its own US-dollar price; the ECB conversion of €5.99 is $6.83. It runs only in Germany and Finland. On 2 October every row on that page read "This product is currently unavailable. Please check back later." Hetzner's page also warns that "the number of available servers is limited."

In Hetzner's US data centers (Ashburn and Hillsboro), the smallest listed box is CPX11 at $21.09 a month for 2 vCPUs and 2GB. The 4GB CPX21 is $38.09.

DigitalOcean is cheaper in the US and was orderable. Its Basic droplets cost $6 for 1GB, $12 for 2GB and $24 for 4GB of RAM.

DigitalOcean Basic

RAM
1GB
Region
US and others
Per month
$6

Hetzner CX23 (showed unavailable)

RAM
4GB
Region
Germany, Finland
Per month
$7.09 (€5.99)

DigitalOcean Basic

RAM
2GB
Region
US and others
Per month
$12

Hetzner CPX11

RAM
2GB
Region
US
Per month
$21.09

DigitalOcean Basic

RAM
4GB
Region
US and others
Per month
$24

Hetzner CPX21

RAM
4GB
Region
US
Per month
$38.09

A $6 droplet with 1GB is below Twenty's stated minimum. A US team that wants its customer data on a US server should budget $12 to $24 a month, not $5.

Backups, updates and your time

The server is the small part of the bill. Our assumption of 2 admin hours a month costs more over three years than any server on this page.

Backups. DigitalOcean charges 30% of the droplet's price for daily backups (seven kept) or 20% for weekly ones. On a $12 droplet, daily backups are $3.60 a month. Twenty's own docs add a nightly database dump and say to "Store backups off-site". A small CRM's dumps fit inside Cloudflare R2's free 10GB, so we count that copy at $0. Why the off-site copy matters is in our guide to backups.

Updates. Each project ships often. Twenty released v2.44.0 on 1 October and EspoCRM 10.0.9 on 29 September. Twenty's upgrade guide starts with "Always back up your database before starting the upgrade process" and has version-specific notes, such as a PostgreSQL 15 minimum from v2.34. SuiteCRM's pricing page puts it plainly for self-hosters: "Your team manages updates and security."

Admin time. Our assumption is 8 hours to set up (server, domain, HTTPS, mail, first backup) and 2 hours a month after that: applying updates, checking that backups ran and testing a restore each quarter. We cost it at $50 an hour, rounded up from the Bureau of Labor Statistics 2025 median pay for systems administrators, $47.66 an hour. That's wages only, with no benefits or overhead.

If you're a founder who already runs servers, your hours may cost less. If nobody on the team has restored a PostgreSQL dump before, budget more.

What each project keeps behind a paid tier

Twenty charges for SSO even when you host it yourself. SuiteCRM and EspoCRM document single sign-on in their free editions. Odoo Community has the CRM app but not Enterprise's upgrades, mobile app or Studio.

Table of what each open-source CRM keeps behind a paid tier. Twenty: free self-hosted Pro plan; SSO and audit logs need Organization at $19 a seat a month even self-hosted; SCIM and LTS releases on Enterprise from $50k a year. SuiteCRM: no paid software tier; SAML and LDAP in the docs; paid hosting from £50 a month and support at £1,200 per 10 hours. EspoCRM: OIDC and LDAP sign-in in the core; workflows, reports and BPM in the Advanced Pack at €395 a year per instance. Odoo Community: CRM, sales and email marketing included; OAuth and LDAP modules; Enterprise adds version upgrades, mobile apps, Studio, marketing automation and full accounting.
Read from each project's pricing page, docs and repository, 27 Sep and 2 Oct 2026. · aliteq research

Twenty. With the self-hosting toggle on, Twenty's pricing page shows Pro at $0 ("Up to 5 workspaces", "Community support"). Organization adds SAML/OIDC SSO, row-level permissions, audit logs and Twenty team support at $19 a seat a month billed yearly, or $25 monthly. That's the same as Twenty's cloud price. Enterprise, "from $50k /year", adds SCIM provisioning, air-gapped deployment and LTS releases.

SuiteCRM. There's no paid software edition. SuiteCRM 8's admin docs include a SAML configuration reference (for 8.7.0 and later) and an LDAP reference. The paid side is services: fully managed hosting "From £50 / month" ($66.26), Standard Support at £1,200 ($1,590.24) for 10 support hours, and SuiteASSURED "From £3,350 / year" ($4,439.42) with warranty and legal indemnities.

EspoCRM. The core supports sign-in through OpenID Connect "As of v7.3", plus LDAP and two-factor login. Reports, workflows and business process management come in the Advanced Pack: €395 ($450.42) for a "1 Year License + Upgrades", "Licensed on a per-instance basis", so the price doesn't grow with seats. The Sales Pack (quotes, invoices, inventory) is €260 ($296.48) on the same terms. EspoCRM's own cloud plans include the Advanced Pack.

Odoo Community. Odoo's editions table marks CRM, Sales, Invoicing, Email Marketing and Website as included in Community. Enterprise-only rows include Version Upgrades, the Android and iOS apps, Studio, Marketing Automation, Helpdesk, VoIP and full Accounting. The Community code ships OAuth2 and LDAP login modules. We found no SAML module in the Community repository. Running Enterprise on your own server needs Odoo's Custom plan: €35.90 a user a month for the first year, then €44.90.

What it costs over three years at 5 and 20 seats

Self-hosting the free edition of any of the four costs about $4,562 over three years at 5 seats and $5,123 at 20, once staff time is counted. Cash alone is $562 and $1,123.

Bar chart of three-year cost at 20 seats. Odoo Online One App Free $0. Self-hosted free edition, cash only, $1,123. Self-hosted free edition with admin time $5,123. Self-hosted EspoCRM with Advanced Pack $6,474. Twenty Cloud Pro $6,480. Pipedrive Lite $10,080. EspoCRM Cloud Basic $10,591. Twenty Cloud Organization $13,680. Self-hosted Twenty Organization $18,803. Odoo Standard $19,075. Self-hosted Odoo Enterprise $39,524. HubSpot Pro $79,260.
20 seats, 36 months, list prices. Self-hosted rows use our server, backup and admin-hour assumptions. · aliteq research

Here are the assumptions behind the self-hosted rows:

  • A DigitalOcean US droplet: 2GB at $12 for 5 seats, 4GB at $24 for 20 seats.
  • Daily backups at 30% of the droplet price, plus an off-site dump copy on R2's free tier.
  • 8 setup hours, then 2 hours a month, at $50 an hour.
  • Formula: (server + backups) × 36 + setup hours × $50 + monthly hours × $50 × 36 + any licence.

Server + daily backups, 36 months

5 seats
$561.60
20 seats
$1,123.20

Setup, 8 hours

5 seats
$400
20 seats
$400

Upkeep, 2 hours a month

5 seats
$3,600
20 seats
$3,600

**Self-hosted, free edition**

5 seats
$4,561.60
20 seats
$5,123.20

+ Twenty Organization ($19 a seat)

5 seats
$7,981.60
20 seats
$18,803.20

+ EspoCRM Advanced Pack (€395 a year)

5 seats
$5,912.86
20 seats
$6,474.46

+ Odoo Enterprise, Custom plan

5 seats
$13,161.74
20 seats
$39,523.77

SuiteCRM has no licence line; its support hours are optional when you self-host. The Odoo Enterprise row uses the first-year price for year one and the full price after, since Odoo says its discount "is valid for 12 months, for initial users ordered".

Now the hosted plans you'd buy instead. Twenty and Odoo prices come from our CRM comparison; EspoCRM's euros are converted at the ECB rate of 25 Sep 2026.

Odoo Online, One App Free (CRM only)

5 seats
$0
20 seats
$0

Twenty Cloud Pro, $9 a seat yearly

5 seats
$1,620
20 seats
$6,480

Pipedrive Lite, $14 (SAML SSO)

5 seats
$2,520
20 seats
$10,080

EspoCRM Cloud Basic, €12.90

5 seats
$2,647.78
20 seats
$10,591.11

Twenty Cloud Organization, $19 (SSO)

5 seats
$3,420
20 seats
$13,680

EspoCRM Cloud Enterprise, €22

5 seats
$4,515.59
20 seats
$18,062.35

Odoo Standard, €19.90 then €24.90

5 seats
$4,768.73
20 seats
$19,074.94

HubSpot Pro, Front Office seats

5 seats
$20,940
20 seats
$79,260

Odoo's free plan is real but narrow: "One App Free… One app, unlimited users", so CRM alone with no invoicing or other apps. SuiteCRM's managed hosting has a worked example on its pricing page of £1,560 a year ($2,067.31), or $6,201.94 over three years, but it's a "from" figure and the page doesn't tie it to a seat count.

Put your own seat count in and compare the hosted CRMs directly:

What your CRM costs, by seat count

Years

Cheapest here

Pipedrive

$5,040 · Lite

Cheapest with SAML listed

Pipedrive

$5,040 · Lite

Priciest here

$70,200

Salesforce · Core

Vendor · plan3-year totalSSO
PipedriveLite · $14/seatSAML SSO on every plan; audit log and sandbox need Ultimate ($79)$5,040SAML
TwentyOrganization · $19/seatSAML/OIDC SSO, cloud or self-hosted$6,840SAML
Zoho CRMEnterprise · $40/seatSandbox and custom modules; SSO not on the compare page$14,400Not listed
FolkPremium · $48/seatPricing page lists Google SSO only$17,280Google
AttioPro (SSO needs Enterprise) · $79/seatSSO is on Enterprise, which has no public price$28,440Quote
HubSpotPro, Front Office Seat · $108/seatSAML SSO from Professional; 12-month commitment$38,880+ up to $1,500 onboardingSAML
CloseScale · $139/seatPricing page lists Google SSO only$50,040Google
SalesforceCore · $195/seatAnnual only; SSO tier not on the pricing page$70,200Not listed

Enterprise mode uses the cheapest plan whose pricing page lists SAML SSO. Where a vendor doesn't list SAML, it uses the plan an enterprise-selling team would typically need and says so.

List prices in USD from HubSpot (pricing page price data), Salesforce, Pipedrive, Attio, Close, Folk, Zoho and Twenty, all read 27 Sep 2026. Before promotions, startup programmes, negotiation and tax. Onboarding is HubSpot's catalog fee, which its checkout didn't show, so it's “up to”. “Not listed” means the pricing page has no SAML row, not that the vendor can't do it. AI credits past the included allowance aren't counted.

When self-hosting is worth it

At 5 seats, hosted usually wins once your time counts. At 20 seats, self-hosting SuiteCRM or EspoCRM undercuts nearly every per-seat plan, SSO included.

Five people, nobody who likes servers: Twenty Cloud Pro ($1,620 over three years) or Odoo's free one-app plan cost less than our $4,562 self-hosted figure.

You need SSO without a per-seat fee: SuiteCRM documents SAML and EspoCRM documents OpenID Connect in their free editions. Twenty's SSO is $19 a seat whether you host it or not.

Your customer data must stay on a server you control: self-host, and budget $12 to $24 a month for a US box, plus backups and a restore test every quarter.

You plan to change the core code: read the AGPL's section 13 first, or pick Odoo Community (LGPLv3). Admin-screen customization isn't a code change in our reading.

Model three years. The cash is small; the admin hours are most of the bill, and they don't shrink as your team grows.

Running your own server is a cloud infrastructure decision as much as a CRM one. For more software cost breakdowns, see the Business Software hub.

Quick answers

Is Twenty CRM free to self-host?
Yes. Twenty's pricing page, read on 27 September 2026, lists the self-hosted Pro plan at $0 with community support and up to 5 workspaces. SSO, row-level permissions and audit logs need the Organization plan at $19 a seat a month billed yearly, even when you host it yourself.
How much RAM does a self-hosted CRM need?
Twenty's docs ask for at least 2GB. SuiteCRM and EspoCRM publish no RAM figure. Odoo's deployment guide estimates about 150MB for a light worker and 1GB for a heavy one, with one worker per about 6 concurrent users. We sized 2GB for 5 seats and 4GB for 20.
Can a company use an AGPL CRM internally without publishing its code?
The AGPL lets you run an unmodified copy without conditions, and staff using it over a network isn't conveying a copy. Section 13's source offer applies when you modify the program and users interact with your modified version over a network. That's our summary of the licence text, not legal advice.
What does Odoo Community leave out compared with Enterprise?
Odoo's editions table marks CRM, Sales, Invoicing and Email Marketing as included in Community. Version upgrades, functional support, hosting, the mobile apps, Studio, Marketing Automation, Helpdesk, VoIP and full Accounting are Enterprise only.
What does it cost to self-host a CRM for 20 users over three years?
About $1,123 in cash for a 4GB US droplet with daily backups, or $5,123 once you add our assumption of 8 setup hours and 2 admin hours a month at $50 an hour. A licence such as Twenty Organization at $19 a seat adds $13,680.
Where can I get a $5 server for a CRM?
Hetzner's CX23, 4GB for €5.99 ($7.09 in Hetzner's US-dollar price), runs only in Germany and Finland and showed as unavailable on 2 October 2026. In the US, DigitalOcean's 2GB droplet at $12 a month was the cheapest box we found that meets Twenty's 2GB minimum.

Use this in your own page

Teaching this? Paste the live version into your course, blog or answer. Free, no sign-up; the credit line links back here.

Embed
Cite

Found this useful? Share it

Share
Kernel

Software & Business Software Editor

Kernel

I'm US-based, I've daily-driven more Linux distros than I can name, and I treat software like a workshop: what does it do, what does it really cost, and what can I run myself instead. That's why I also cover the CRM, HR and ERP bills that land on a startup the day it signs its first big customer.

The Aliteq brief

The tech worth knowing — hardware, AI, gaming, deals. No spam, unsubscribe anytime.

Keep reading