Comparing the 4 best
self-hosted CMS in 2024
By Pieti Kinnunen
July 3rd, 2024
What is even self-hosting?
Self-hosting means that you host your database and CMS backend on your own premises or a server platform of your choice. It's the opposite of cloud-hosting when you choose another service provider to host your database for you. With self-hosting you are the one who gets to choose the settings and definitions for the backend of your CMS.
Choosing to self-host gives you full flexibility control over the server but may require more technical expertise and maintenance, and it may be good to have a developer by your side, looking after things.
Why self-host?
In the age of cloud computing and SaaS, self-hosting a CMS might seem like an outdated approach. However, there are compelling reasons why this option still makes sense for many individuals and organizations.
Self-hosting can bring multiple benefits, including enhanced control over your data, improved security, and potential cost savings, among other things. In this blog post, we explore the differences between the best self-hosted CMS platforms.
Whether you're looking to migrate over to a self-hosted CMS solution or just want to look into the best options out there, read on to discover what self-hosted options are out there.
Table of contents
In this post:
Strapi
Strapi is an open-source, Node.js-based headless CMS. It's the most popular option for a self-hosted content management system. It empowers developers to easily build, deploy and manage content-rich applications. With Strapi, you can create a customizable API that can be consumed by any client capable of making HTTP requests, such as websites, mobile apps, or IoT devices.
The CMS supports three different SQL databases: MySQL, PostgreSQL and MariaDB. A possible challenge when migrating your content to Strapi is that it is not meant to be connected to a pre-existing database. So, if you are moving from a service that also used an SQL database, you’ll need to create a new database with the Strapi app. You can query your data from the CMS using GraphQL queries or the RESTful API.
Strapi supports role-based access control (RBAC). Single sign-on (SSO) with support for the most popular SSO providers such as Google, GitHub, Microsoft and Okta among others is available for enterprise customers.
The CMS if also known for its nice developer experience with good documentation and great community support since the community is the biggest of all the self-hosted CMS options. A drawback with Strapi is that official customer support is only available to enterprise customers, with basic customer support being available for the lower tiers of the cloud-hosted version as well, but not the self-hosted community version.
Strapi has some missing features, such as more than two levels of component nesting and conditional fields, but the CMS is extensible via plugins from the Strapi marketplace, or you can develop your own using Javascript, so technically, you could expand Strapi to have all the features you need.
The Strapi community version is free to self-host with some features missing from the paid enterprise subscription.
Directus
Directus is an open-source headless CMS and backend-as-a-service (BaaS) that you can host on your own servers. It serves as a versatile backend toolkit for creating different types of applications. With Directus, you can instantly turn your SQL database into APIs and manage your data using a no-code app that can be customized .
You could think of Directus as a blank canvas with the tools to build your own CMS powered by a REST API or GraphQL interface. This flexibility may also be a downside if you are only looking for the CMS functionality as setting up just the CMS takes more effort than the other providers in this article. Luckily Directus provides templates for getting the CMS up and running with templates for other applications as well so getting started is not a hassle.
Directus has a built-in asset manager with automatic IPTC, EXIF and ICC metadata scraping so searching assets is more efficient. Directus has support for live previews and you can create automations to schedule posts, trigger review notifications and more.
Unlike Strapi, Directus can be made to work with any existing or new SQL database. Directus has built-in JWT auth and it supports SSO via OAuth, OpenID and LDAP. You can also set up an unlimited number of roles with granular access control and detailed logs to maintain a clear audit trail.
Directus offers a nice developer experience with good documentation and a large community around it. You can customize the layout of Directus as you wish by using Javascript. Both Strapi and Directus have support for internationalization for your content so you can provide content for global audiences.
The self-hosted version of Directus is free to use if your company’s finances don’t exceed 5 million USD in the past 12 months.
Payload CMS
Payload CMS is a flexible and powerful backend and admin UI for websites, internal tools, ecommerce, and digital asset management. It offers AI, visual editing, and extensibility with React and hooks. Payload can be used as a headless CMS, TypeScript backend and an admin panel.
As Payload is open-source and it’s built on Next.js, it leverages the newest React server component technologies for reducing client-side load while making it simple to deploy your project to serverless platforms such as Vercel.
Unlike with Strapi or Directus where you can add components and content types via the admin UI, in Payload all the configuration is done in code. This can be a downside as adding content types might take a bit longer than with a no-code solution, but also an upside since in the other options customizing content is more complex in code because it feels as if you are expected to use the no-code approach more.
Luckily developers won’t need to worry about learning new technologies that are only usable in Payload since the CMS only uses React and Typescript without unnecessary abstractions.
Payload has support for MongoDB and Postgres databases.
Magnolia CMS
Magnolia CMS is a Java-based open-source content management system that offers a composable Digital Experience Platform (DXP) for enterprises, allowing you to unify content, commerce, customer data, and legacy tech. Magnolia provides GraphQL and RESTful APIs to query your content like the other CMSs in this article. Magnolia is directed more towards enterprise-level users than the others systems listed.
Magnolia offers security features like the other CMSs on this list such as SSO and RBAC and it has the industry’s key security certifications. Unlike some, Magnolia only supports Open ID Connect compatible identity providers but it can be extended to protocols like LDAP and SAML by using an identity broker.
Magnolia supports database options such as MySQL, MariaDB, Oracle, H2 and PostgreSQL, with H2 not being recommended for production environments. With Magnolia you can choose any database that is officially supported by Apache Jackrabbit but PostgreSQL is the one that Magnolia recommends the most.
Comparing the features
Feature | Strapi | Directus | Payload | Magnolia |
---|---|---|---|---|
Database | MySQL, PostgreSQL, MariaDB | Any SQL database | MongoDB, Postgres | MySQL, MariaDB, Oracle, H2, PostgreSQL |
API | REST, GraphQL, Entity service, Query engine | REST, GraphQL | REST, GraphQL, local API inside your own server | GraphQL, REST |
No-Code configuration | ✅ | ✅ | ❌ | ✅ |
Base code | JavaScript | JavaScript | Next.js | Java |
Open-source | ✅ | ✅ | ✅ | ✅ |
SSO | Enterprise only | ✅ | Enterprise only | Enterprise only |
RBAC | ✅ | ✅ | ✅ | ✅ |
TypeScript support | ✅ | ❌ | ✅ | ❌ |
Verdict
There's many popular self-hosted CMS options out there. We think Strapi, Directus, Payload CMS, and Magnolia CMS, are among the best.
They all come with great features, but to summarize the best features of them all, we would say that Strapi's best side is its developer-friendly experience and strong community support, while Directus offers great flexibility with existing databases, giving you the opportunity to build what you want. Payload CMS, which is very user-friendly is open-source and integrates closely with React and TypeScript, and Magnolia CMS is a great choice for enterprise users with high security requirements and composability features.
Contact us
Get in touch and let's discuss your business case
Submitting this form will not sign you up for any marketing lists. Your information is strictly used and stored for contacting you. Privacy Policy