Contentful vs a self-hosted CMS
Leaving Contentful for something you run yourself trades a subscription for two things people underestimate: a server bill that never appears in the comparison tables, and a licence that may not say what the marketing page says. This page is the audit. Every licence below was read from the project's own LICENSE file in August 2026, not from a summary, because in this category one of the most-recommended options changed its terms three months ago.
Self-host if you already own a deploy pipeline and a database, publish in more than two languages, or need the content model in your own repository. Stay on Contentful if nobody on the team wants to be paged when the admin panel is down: the free plan is $0 with a CDN and an SLA behind it, and no self-hosted stack beats that on total cost until the meter actually bites.
Side by side
Contentful vs running it yourself
| Contentful | Self-hosted CMS | |
|---|---|---|
| Software cost | $0 free, then $300/mo | ✓ $0 for MIT projects |
| Infrastructure cost | ✓ None, included | ✗ Roughly $25 to $75/mo for a small production setup |
| Locales | ✗ 2 free, 3 on Lite, 4+ unpriced | ✓ Not metered anywhere |
| Roles and seats | ✗ 2 roles free, 3 on Lite | ✓ Unlimited on every option here |
| API limits | 100K calls/mo and 55 req/s on free | ✓ Whatever you provisioned |
| Uptime | ✓ Up to 99.99% SLA on Enterprise | ✗ Yours, with no credit if it breaks |
| Upgrades and patches | ✓ Handled for you | ✗ Your maintenance window |
| Backups | ✓ Platform responsibility | ✗ Yours, and untested backups do not count |
| Support | ✓ 24/7 with a named CSM on Enterprise | ✗ Community forums, unless you buy a plan |
| Data location | Contentful's infrastructure | ✓ Any region or datacentre you choose |
| Exit cost | Export via API, model is proprietary | ✓ It is already your database |
| Licence risk | Terms can change at renewal | Depends entirely on the project, see below |
Sources: Contentful pricing · Contentful technical limits. Infrastructure figures are typical managed-container plus managed-Postgres pricing, not a vendor quote. Compiled August 2026.
The licence audit
"Open source" is doing a lot of work in this category's marketing. Four of the projects below are plain MIT, one has conditions in its own licence file that most write-ups omit, and one is not open source at all and changed its terms in May 2026. Read as of August 2026, from each project's LICENSE file.
| Project | Licence | The catch |
|---|---|---|
| Payload | MIT | None in the licence. No first-party managed hosting for new projects. |
| Keystone | MIT | None. It is a framework, so there is no vendor to buy support from. |
| Decap | MIT | None. No content API at all, content lives in git. |
| Strapi | MIT core | The ee/ directory is commercial; the MIT grant is conditioned on having no Strapi Cloud account. |
| Directus | MSCL 1.0, source-available | No competing use, do not circumvent the licence key, GPL-3.0 only after four years. |
Directus changed its licence in May 2026, and most comparisons still say BSL
Directus has now relicensed twice. It left GPL-3.0 for BSL 1.1 with v10 in April 2023, and with v12 in May 2026 it left BSL for the Monospace Sustainable Core License, abbreviated MSCL-1.0-GPL. The terms are more permissive than BSL in one respect and stricter in another. The permitted purpose is anything that is not a "competing use", defined as making the software available to a party that competes with Directus' own commercial offering of it, and internal use, non-commercial research and education, and professional services for a licensee are explicitly allowed. But the Limitations clause says you must not "move, change, disable or circumvent the license key functionality", and the conversion to GPL-3.0 now happens on the fourth anniversary of each release rather than the third.
Who pays changed too. Free full-feature self-hosting runs through the Open Innovation Grant, which requires both under $5 million in revenue and fewer than 50 employees, with registration for a key. The old BSL threshold was revenue only, so a 60-person company under $5 million that was compliant last year is not covered by the grant this year. Above either threshold you get the free Core tier, capped at 3 seats, 25 collections and 5 flows, or you pay from $499 a month billed annually. None of this makes Directus a bad choice, and it remains excellent when the content already lives in a SQL database somebody else designed. It does mean you cannot treat it as equivalent to the MIT options.
Strapi's MIT has two conditions in the file itself
GitHub reports Strapi's repository licence as NOASSERTION, and the LICENSE file explains why. Anything under an ee/ directory is deemed Enterprise Edition and is governed by a separate commercial licence in the same repository. The MIT grant then applies only if you are not using that code and, in the file's own words, "you have no registered account on our cloud offering". In practice a self-hosted Community install is free and unrestricted, and this is not a reason to avoid Strapi. It is a reason not to write "Strapi is MIT" in a procurement document without the sentence that follows it.
Payload is MIT, but the ownership changed
Payload's licence is plain MIT with no enterprise carve-out, and the repository is one of the most active in the category, with v3.87.1 released on 6 August 2026. The context worth knowing is that the Payload team joined Figma on 17 June 2025. Figma's post commits that Payload "will remain an open-source product" and that they will "continue to actively invest in and improve the open-source project", and the release history since is consistent with that. The concrete change for a new project is that Payload Cloud no longer accepts sign-ups, so managed first-party hosting is not an option and self-hosting is the path.
What self-hosting actually costs
The software line is $0 and the rest is not. A modest production deployment is a container or small VM for the CMS, a managed Postgres instance, object storage for assets, and a CDN in front of the API. On typical managed platforms that lands somewhere around $25 to $75 a month, which is comfortably below Contentful's $300 Lite plan and comfortably above the $0 free plan that most small teams are actually leaving.
The real cost is ownership rather than invoice. Someone has to apply upgrades, patch dependencies, take backups and prove the restore works, and be reachable when the editor cannot publish an hour before a launch. If that person already exists on your team, self-hosting is close to free and gives you a system with no meter anywhere in it. If they do not, you are hiring a responsibility to avoid a subscription, which is usually the more expensive trade.
One honest counterweight to the whole page: if you publish in one or two languages with a handful of editors, Contentful's free plan gives you 10 users, 10,000 records, 100,000 API calls and a CDN for nothing. Nothing described here beats $0, and the argument for moving only starts when a third locale, a third role or a 26th content type turns that $0 into $300.
Common questions
FAQ: Contentful vs self-hosted CMS
Which self-hosted Contentful alternatives are actually open source?
Payload, Keystone and Decap are plain MIT, which is a genuine OSI-approved open-source licence with no revenue thresholds and no feature gates. Strapi is MIT for its core, but anything under the ee directory in the same repository ships under a commercial Enterprise Edition licence, and the MIT grant is written to apply only if you avoid that code and have no registered Strapi Cloud account. Directus is not open source: since v12 in May 2026 it uses the Monospace Sustainable Core License, a source-available licence. Each Directus version does become GPL-3.0, but only on the fourth anniversary of its release.
What does self-hosting a CMS actually cost per month?
The software can be free while the deployment is not. A realistic small production setup is a container or small VM for the CMS, a managed Postgres instance, object storage for assets and a CDN in front, which typically lands somewhere between $25 and $75 a month for a modest site. The larger cost is not the invoice, it is ownership: upgrades, security patches, backups and restores, and someone on call when the admin panel is down at 9am. Compared against Contentful's $300 a month Lite plan the infrastructure is cheap, but only if the engineering time already exists.
Did Directus stop using the BSL licence?
Yes, and most comparison articles have not caught up. Directus moved from GPL-3.0 to BSL 1.1 with v10 in April 2023, and then from BSL 1.1 to the Monospace Sustainable Core License with v12 in May 2026. The MSCL permits any use that is not a competing use, explicitly allows internal use and professional services, and forbids disabling or circumventing the licence key. Free full-feature self-hosting now runs through the Open Innovation Grant, which requires both under $5 million in revenue and fewer than 50 employees. Organisations above either threshold get a free Core tier capped at 3 seats and 25 collections, or pay from $499 a month.