8 7. Utilities
René Kreijveld edited this page 2026-09-25 16:19:53 +02:00

Utilities

jlatest

Download and extract a Joomla release into the current directory. Used automatically by jaddsite -j, but can also be run manually.

Usage

jlatest [-v <joomla_version>] [-u] [-s] [-h]

Options

Option Description
-v <version> Download a specific version, e.g. 5.2.3 (minimum: 3.10.0)
-u Prompt for a custom download URL
-s Silent - suppress progress output
-h Display help

What it does

  1. Downloads the specified Joomla release (or the latest version if no version is given) to the current directory
  2. Extracts the zip archive
  3. Removes the downloaded zip file
  4. Sets file permissions to 644 and folder permissions to 755

Examples

Download the latest Joomla into the current folder:

cd ~/Development/Sites/mysite
jlatest

Download a specific version:

jlatest -v 5.2.3

joomlainfo

Show the Joomla version and the DDEV details of the current project. Run from the project folder or from the document root.

Usage

joomlainfo

What it does

  1. Locates the Joomla configuration.php, either in the current folder or in the project's document root subfolder
  2. Detects the Joomla version and reads the site name from configuration.php (Joomla 1.0 and up is supported)
  3. Prints the site name and Joomla version, followed by the output of ddev describe

Example output

$ cd ~/Development/Sites/mysite
$ joomlainfo

Sitename       : My Joomla Site
Joomla version : 5.2.3

... output of ddev describe ...

ddev describe shows the project URLs, the DDEV status, the PHP version, the webserver type, the database type and version, and the ports of any services such as Adminer or Mailpit.


jddev-vsc-xdb

Print the default VSCode launch.json for debugging with Xdebug in the current project. Run from the project folder or from the document root.

Usage

jddev-vsc-xdb [-h]

Options

Option Description
-h Display help

What it does

  1. Locates the DDEV project, either in the current folder or in the document root subfolder
  2. Reads the document root from the project's own .ddev/config.yaml
  3. Prints a launch.json configuration with the pathMappings set to match: /var/www/html when the project has no document root subfolder, or /var/www/html/<docroot> mapped to ${workspaceFolder}/<docroot> when it does

Example output

$ jddev-vsc-xdb
{
    // See https://code.visualstudio.com/docs/editor/debugging#_launch-configurations
    // for the documentation about the launch.json format
    "version": "0.2.0",
    "configurations": [
        {
            "name": "DDEV Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "pathMappings": {
                "/var/www/html": "${workspaceFolder}"
            }
        }
    ]
}

Copy the output into .vscode/launch.json in your project, enable Xdebug with jxdb on, and start the "DDEV Listen for Xdebug" debug configuration in VSCode.


setrights

Set correct file and folder permissions recursively in the current directory.

Usage

setrights [-s] [-h]

Options

Option Description
-s Silent - suppress all messages
-h Display help

What it does

  • Sets all files to 644 (-rw-r--r--)
  • Sets all folders to 755 (-rwxr-xr-x)

Runs recursively from the current directory.

Example

cd ~/Development/Sites/mysite
setrights

jddev

Display an overview of all available ddev-joomla scripts and their command-line parameters.

Usage

jddev

Example output

jddev 3.1, written by René Kreijveld.
Overview of all available ddev-joomla scripts.

jddev-update -- Update all ddev-joomla scripts from the ddev-joomla repository main branch.
  Usage: jddev-update [-f] [-h]
  -f  Force update: reinstall all scripts regardless of version.
  -h  Display help.

jaddsite -- Add a new Joomla site to DDEV.
  Usage: jaddsite -n <sitename> [-p <php_version>] [-w <webserver>] [-j] [-a] [-v] [-s] [-h]
  ...

Use this as a quick reference without leaving your terminal. Every script also has its own -h option with the same information.


jddev-status

Show the ddev-joomla configuration and the state of the installation. Useful to check what the scripts will use, or to troubleshoot an installation. Can be run from any folder.

Usage

jddev-status [-h]

Options

Option Description
-h Display help

What it does

  1. Reads the config file ~/.config/ddevjoomla/config (exits with an error when it does not exist)
  2. Shows when the config file was generated and by which installer version
  3. Shows the root folder, the document root, the backup folder and the default webserver, and checks whether the folders exist and the webserver value is valid
  4. Counts the DDEV projects found under the root folder
  5. Checks whether /usr/local/bin is in your PATH and whether all ddev-joomla scripts are installed there, listing any that are missing
  6. Shows when the last automatic update check ran

Example output

$ jddev-status
jddev-status 1.0, written by René Kreijveld.
Status of the ddev-joomla configuration.

Config file         : /Users/you/.config/ddevjoomla/config
Generated at        : 2026-06-03 17:32:09
Installer version   : 2.2

Root folder         : /Users/you/Development/Sites (exists)
DDEV projects       : 6
Document root       : htdocs (used by jaddsite for new projects)
Backup folder       : /Users/you/Development/Backups (exists)
Default webserver   : nginx

Scripts folder      : /usr/local/bin (in PATH)
Installed scripts   : 22 of 22
Last update check   : 2026-09-24 11:42:02

The document root is only used by jaddsite when it creates a new project; all other scripts read the layout from the project's own .ddev/config.yaml.