joomla-cms is a free, open source content management systems (cms) project written in PHP and released under GPL-2.0. It has 5,137 GitHub stars, 3,867 forks and 928 open issues, and was last pushed 8 hours ago. On this registry it ranks #18 of 47 tracked projects in Content Management Systems (CMS), with 5 head-to-head comparisons available.

What is joomla-cms?

Joomla! CMS is a free, open-source content management system written in PHP that lets people build websites and online applications, and this repository is the source code home of the Joomla! 5.x line for developers, integrators, and site builders.

What it is

Joomla! CMS is a web server application in the PHP ecosystem. It is distributed under the GNU General Public License version 2 or later and requires a server running PHP along with either MySQL, MariaDB, or PostgreSQL. The repository holds the source of Joomla! 5.x, developed on the 5.4-dev branch, with the project's official website at joomla.org and version history maintained on docs.joomla.org. Full technical requirements are published at downloads.joomla.org.

The concrete problem it solves is the assembly of a working website: content structure, presentation, and multilingual output. Rather than writing and maintaining that layer of PHP code directly, a site operator installs the CMS and configures it. The multilingual-websites and website-builder topics in this repository describe that role, and the README frames the software as a way to build websites and powerful online applications without owning the underlying application plumbing.

Key capabilities

  • Ships source for Joomla! 5.x, tracked on the 5.4-dev branch, with changes visible in the branch commit log.
  • Runs on PHP 8.1.0 with MySQL, MariaDB, or PostgreSQL as the backing database.
  • Targets multilingual websites, so content can be presented in more than one language.
  • Provides website-builder functionality for assembling sites through configuration rather than by hand.
  • Manages PHP dependencies through Composer and compiles JavaScript and SASS through Node.js 20 and npm 10.1.0.
  • Caches extension namespace names in JOOMLA_ROOT/administrator/cache/autoload_psr4.php; deleting that file forces regeneration on the next call to Joomla.
  • Carries the GPL-2.0 licence and participates in Hacktoberfest.

Who uses it and how

  • Site operators who want a running site install a package from downloads.joomla.org; the repository itself is not installable out of the box.
  • People testing upcoming code use nightly packages from developer.joomla.org rather than a stable release.
  • Extension developers clone the repository, check out 5.4-dev, and work against the source rather than a packaged build.
  • Contributors request features and report bugs through issues.joomla.org, filing bug reports per the documentation on docs.joomla.org.
  • Developers submitting code follow the git workflow described in manual.joomla.org and set up a local environment using the J5.x local environment guide, which requires PHP with CLI access, Composer, Node.js, and Git.

Getting started

The README states plainly that Joomla is not installable out of the box from this repository: use downloads.joomla.org for the latest stable package or developer.joomla.org for a nightly build. To run from source, clone the repository, check out 5.4-dev, then run composer install and npm ci.

How it compares

The facts provided do not name any paid products that this project replaces, and they do not name other similar tools. On the evidence available, joomla-cms stands alone in this registry rather than sitting alongside a documented set of alternatives.

When to use it — and when not to

A self-hoster must operate a PHP 8.1.0 server and a MySQL, MariaDB, or PostgreSQL database, and anyone working from source also needs Composer, Node.js, and Git to build the project. Anyone who wants a ready-to-run package straight from this repository should not pick it, because the README explicitly redirects those users to downloads.joomla.org or the nightly builds. Teams that need to keep extension namespaces current should also note the manual cache-deletion step around JOOMLA_ROOT/administrator/cache/autoload_psr4.php, and the 928 open issues indicate an actively worked but substantial backlog.

project readme (upstream, from github) — read inline

Joomla! CMS™

Build Status

Actions PHP Node npm
Build Status PHP node-lts npm

Overview

What is Joomla?

  • Joomla! is a Content Management System (CMS) which enables you to build websites and powerful online applications.
  • It is a simple and powerful web server application which requires a server with PHP and either MySQL, MariaDB or PostgreSQL to run. You can find full technical requirements here.
  • Joomla! is free and Open Source software distributed under the GNU General Public License version 2 or later.

Looking for an installable package?

Joomla is not installable out of the box from this repository, please use:

How to get a working installation from the source

For detailed instructions please visit https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment

You will need:

Steps to setup the local environment:

  • Clone the repository:
git clone https://github.com/joomla/joomla-cms.git
  • Go to the joomla-cms folder:
cd joomla-cms
  • Go to the 5.4-dev branch:
git checkout 5.4-dev
  • Install all the needed composer packages:
composer install
  • Install all the needed npm packages:
npm ci

Things to be aware of when pulling: Joomla creates a cache of the namespaces of its extensions in JOOMLA_ROOT/administrator/cache/autoload_psr4.php. If extensions are created, deleted or removed in git then this file needs to be recreated. You can simply delete the file and it will be regenerated on the next call to Joomla.

Do you want to improve Joomla?

Which branch should my Pull Request target?

Using a simple classification keeps the project stable, transparent, and easy for everyone to contribute.

Type of change What it means Target branch
Bug / Patch release The change fixes an actual error. The software crashes, produces the wrong result, or behaves contrary to its specification. It can be resolved without large‑scale refactoring or new functionality. 5.4-dev (6.1-dev) *
Feature / Minor release Anything that isn’t a strict bug – new behavior, refactoring, performance improvements, enhancements, UI tweaks, etc. These changes are bundled together for the next minor version. 6.2-dev

* All bugs that already exist in version 5.4.x should be fixed in 5.4-dev. Only bugs that are introduced for the first time in version 6.x should target the 6.1-dev branch.

A member of the maintainer or bug squad team confirms the classification and sets the appropriate labels when a PR is opened. If a PR is opened in the wrong branch, a maintainer will simply ask you to retarget it to the proper branch.

Copyright

  • (C) 2005 Open Source Matters, Inc.
  • Distributed under the GNU General Public License version 2 or later
  • See License details

Frequently asked questions

Is joomla-cms free to use?

joomla-cms is open source under the GPL-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does joomla-cms do?

Home of the Joomla! Content Management System

What is joomla-cms written in?

joomla-cms is primarily written in PHP. Its source is publicly available at https://github.com/joomla/joomla-cms, and it has 5,137 GitHub stars.