
The Probo.CI Joomla plugin provides an easy way to set Joomla site configuration options in your application build and quickly integrate a Joomla website’s repository. To use the Probo.CI Joomla plugin you must declare plugin: Joomla in a step in your .probo.yaml file. The Joomla plugin’s parameters automate the steps specific to Joomla such as importing a database, writing the configuration.php connection details, and clearing caches.
The Probo.CI Joomla plugin inherits all Probo PHP/LAMP configuration options. This allows additional Probo.CI build steps in your .probo.yaml file to layer LAMP configuration options and commands on top of the Joomla site specific configuration.
configuration.php Is HandledJoomla stores its settings as a JConfig class in a configuration.php file at the web root. The plugin handles this file in one of two ways:
configuration.php, the plugin preserves it and patches only the database connection properties Probo controls — $dbtype, $host, $user, $password, and $db. Everything else, including your $secret and $dbprefix, is left untouched so the site keeps matching the database you import and any existing sessions.configuration.php is present, the plugin generates a fresh, minimal one using the Probo-provisioned database credentials and a randomly generated $secret.See the Probo.CI Joomla Examples and Demonstrations section below for a full YAML config example. We can also help you get started building your .probo.yaml file.
subDirectory {string}The path to your docroot if it is a subdirectory of your git repository. Defaults to docroot.
database {string}The file name of the database to import if specified. Note that this database must be added to the assets array separately.
databaseName {string}The name of the database. Defaults to joomla.
databaseGzipped {boolean}Whether the database was sent gzipped and whether it should therefore be gunzipped before importing.
databaseBzipped {boolean}Whether the database was sent bzipped and whether it should therefore be bunzipped before importing.
databasePrefix {string}The table name prefix Joomla uses, written to $dbprefix in configuration.php. Defaults to jos_. This value is only written when a fresh configuration.php is generated; an existing file’s prefix is left untouched so it keeps matching your imported database.
dbType {string}The Joomla database driver, written to $dbtype in configuration.php. Defaults to mysql. Use mysqli or pgsql if your site requires a different driver.
clearCaches {boolean}Whether to clear all caches using php cli/joomla.php cache:clean after the build is finished. Defaults to false.
Using the Joomla plugin
This example takes a database from a Joomla site and integrates it into your Probo build. The web root lives in a docroot subdirectory. Because a Joomla repository typically ships a configuration.php, the plugin preserves it and patches only the database connection so it points at the Probo-provisioned database. It mirrors the Probo Joomla example repository.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | type: lamp php: 8.4 database: mariadb:11.4 # The sample database can be obtained at: # https://probosupportfiles.blob.core.windows.net/utils/joomla.sql.gz assets: - joomla.sql.gz steps: - name: Setup Joomla plugin: Joomla database: joomla.sql.gz databaseGzipped: true clearCaches: false subDirectory: docroot databasePrefix: prefix_ dbType: mysql - name: Set Joomla Cache File Permissions plugin: Script script: - chmod -R 777 /var/www/html/administrator |
For more ways to configure Probo.CI for your Joomla application, checkout our Probo Examples & Demonstration page. There you can see practical real-world examples.

When you sign up for a Probo.CI registration code, you will get a two week trial of the plan of your choosing. For more information on how to get started, click here .
LEARN MORE ABOUT PROBO.CI'S PRICING