MCPSERV.CLUB
Concrete CMS

Concrete CMS

Self-Hosted

Intuitive, secure content creation for editors and developers alike

Active(97)
812stars
0views
Updated 3 days ago

Overview

Discover what makes Concrete CMS powerful

Concrete 5 CMS (now **Concrete CMS**) is a PHP‑based, open‑source content management system designed for rapid, secure development and self‑hosting. At its core it exposes a modular architecture that blends an MVC framework with a powerful block‑based page editor. The system is built to be developer‑friendly: its codebase follows PSR standards, exposes a comprehensive API surface for custom blocks and services, and ships with a robust Composer‑driven dependency manager. The project is actively maintained on GitHub, with continuous integration through GitHub Actions ensuring that each commit passes a full PHPUnit test suite.

Language & Framework

Database

Templating

Front‑end

Overview

Concrete 5 CMS (now Concrete CMS) is a PHP‑based, open‑source content management system designed for rapid, secure development and self‑hosting. At its core it exposes a modular architecture that blends an MVC framework with a powerful block‑based page editor. The system is built to be developer‑friendly: its codebase follows PSR standards, exposes a comprehensive API surface for custom blocks and services, and ships with a robust Composer‑driven dependency manager. The project is actively maintained on GitHub, with continuous integration through GitHub Actions ensuring that each commit passes a full PHPUnit test suite.

Technical Stack

  • Language & Framework – PHP 8.2+, leveraging the Symfony component ecosystem (HTTP foundation, routing, event dispatcher). The core follows a lightweight MVC pattern with a custom dependency injection container that integrates Symfony services.
  • Database – MySQL/MariaDB or PostgreSQL, accessed via Doctrine DBAL. The schema is auto‑generated from PHP entity classes and migrations are managed through a custom migration tool.
  • Templating – Twig is used for rendering views, with a rich set of custom extensions that expose CMS data (blocks, pages, assets) directly to templates.
  • Front‑end – Vanilla JavaScript with optional integration of modern frameworks (React, Vue) through the block system. Editor tools are built on CKEditor 5 for WYSIWYG editing.
  • Testing – PHPUnit for unit and integration tests; Selenium‑based functional tests run in GitHub Actions.

Core Capabilities

  • Block‑Based Page Builder – Pages are composed of reusable blocks (text, image, custom PHP blocks). Developers can create new block types by implementing a simple interface and registering them in the admin UI.
  • API Surface – A RESTful API (JSON‑API compliant) exposes pages, blocks, users, and assets. OAuth2 support allows third‑party services to authenticate.
  • Event System – A publish/subscribe event dispatcher lets developers hook into lifecycle events (page edit, user login, block render) without modifying core code.
  • Permissions & Workflows – Fine‑grained ACLs at page, block, and even field level. Built‑in workflow engine for approval queues.
  • Versioning & Change Logs – Every edit is stored as a revision; developers can programmatically retrieve diffs or revert changes via the API.

Deployment & Infrastructure

Concrete CMS is designed for self‑hosting on LAMP/LEMP stacks. It requires PHP, a supported database, and a web server (Apache or Nginx). The project ships with Docker Compose files for quick containerized deployment, and a Helm chart is available for Kubernetes environments. Horizontal scaling can be achieved by running multiple application instances behind a load balancer, with database replication for read scalability. Asset caching is handled via Redis or Memcached, configurable through the admin panel.

Integration & Extensibility

  • Plugin System – Packages can be added via Composer and automatically discovered by the CMS. Plugins register services, routes, and blocks.
  • Webhooks – Developers can subscribe to events via webhooks, enabling integrations with CI/CD pipelines or external CMSs.
  • Theme Engine – Themes are simple Twig templates that can override core views. Developers can create custom theme packages.
  • CLI Tools – A concretecms artisan‑style command line interface provides tasks such as cache clearing, migration running, and user creation.

Developer Experience

Concrete CMS boasts a well‑structured documentation site (documentation.concretecms.org) with API references, code samples, and a contributor guide. The community is active on forums and GitHub discussions, and the project follows strict code review practices. Configuration is largely driven by environment variables or the admin UI, reducing boilerplate. The Composer dependency tree keeps third‑party libraries up to date automatically.

Use Cases

  • Enterprise Intranets – Secure, role‑based access and workflow approvals make it ideal for internal portals.
  • Marketing Sites – Fast WYSIWYG editing and version control support content teams without developer intervention.
  • API‑First Projects – The robust REST API and event system allow the CMS to act as a headless backend for mobile or SPA frontends.
  • Custom B2B Portals – Extensible block system and plugin architecture enable bespoke functionality (e.g., product catalogs, order management).

Advantages

  • Performance & Flexibility – Lightweight core with optional caching layers; developers can drop in modern JS frameworks for rich UIs.
  • Open‑Source Licensing – MIT license allows commercial use without royalties, encouraging adoption in private projects.
  • Security Focus – Built‑in ISO 27001 compliance, SOC 2/HIPAA ready hosting templates, and a rigorous CI pipeline mitigate common web‑app vulnerabilities.
  • Community & Support – Active GitHub repo, extensive documentation, and a responsive forum provide quick resolution paths.

Concrete CMS offers a balanced blend of developer control and end‑user friendliness, making it a compelling choice for teams that need a self‑hosted, extensible CMS with a modern tech stack and strong security guarantees.

Open SourceReady to get started?

Join the community and start self-hosting Concrete CMS today