Joomla utilities for DDEV
Find a file
2026-06-22 08:19:41 +02:00
.githooks Updated shellcheck action 2026-05-31 14:44:03 +02:00
installer Updated links after move to code.kreijveld.com 2026-05-31 14:26:08 +02:00
src/Scripts Added -d option to jdbimp which deletes the du,p file after import 2026-06-22 08:19:41 +02:00
updater Update versdion comment 2026-05-31 19:54:42 +02:00
.gitignore Add jclone and jphpswitch scripts 2026-05-12 15:14:35 +02:00
CLAUDE.md Updated shellcheck action 2026-05-31 14:44:03 +02:00
Install.md Updated shellcheck action 2026-05-31 14:44:03 +02:00
LICENSE Initial commit 2026-03-13 08:20:46 +01:00
README.md Updated shellcheck action 2026-05-31 14:44:03 +02:00
Update.md Update links after move to code.kreijveld.com 2026-05-31 14:36:06 +02:00

Bash scripts to support Joomla in DDEV

DDEV is a tool to create Docker-based PHP development environments. It gives you Container superpowers with zero required Docker skills: environments in minutes, multiple concurrent projects, and less time to deployment.

DDEV runs on macOS, Windows and Linux and on GitHub Codespaces.

This set of scripts was written to better support Joomla local development in DDEV.

These scripts also support the new ddev version 1.25.2 with joomla support, but they also work for older ddev versions.

Features

  • Create a Joomla project and automatically download and install the latest Joomla version in it.
  • Support for the /api endpoint when you run your Joomla project on Nginx.
  • Create or import a MariaDB database dump from or to your Joomla project or dump all databases at once.
  • Create a full website backup of a Joomla project or backup all projects at once.
  • Delete a Joomla project.
  • List all installed Joomla projects.

Requirements

You need to have a working DDEV setup on your machine. Read about how to install DDEV here: ddev.com/get-started.

Utility Scripts

The following scripts will be installed which do the following:

Script Purpose
jaddsite Create a new DDEV Joomla project (PHP version, webserver, optional Joomla install)
jdelsite Permanently delete a DDEV Joomla project and its files
jclone Clone an existing DDEV Joomla project (including the database) to a new project name
jphpswitch Switch the PHP version of an existing DDEV Joomla project
jlatest Download and extract the latest (or specified) Joomla release
jdbdump Export the DDEV database (ddev export-db)
jdbdumpall Export the DDEV database of all Joomla projects to SQL dump files
jdbdumptable Export one table from the DDEV database to a SQL dump file
jdbimp Import a database dump (ddev import-db)
jbackup Full site backup: database dump + compressed archive (.tgz or .zip)
jbackupall Full backup of all DDEV Joomla projects (database dump + archive)
jxdb Displays xdebug status and enables or disables xdebug
jinfo Displays info about the Joomla project and shows DDEV description
gosite Interactive selector to cd into a Joomla site (requires shell function wrapper in .zshrc/.bash_profile)
jlistjoomlas List all Joomla sites found under the configured root folder
setrights Set correct file permissions (644 files, 755 dirs)
jddev Show all available scripts and their command-line parameters
jddev-update Update all ddev-joomla scripts from the GitHub main branch

Contributing

After cloning this repository, activate the pre-commit ShellCheck hook by running:

git config core.hooksPath .githooks

This runs shellcheck on all scripts automatically before each commit.

Backup & Safety

The installer script automatically creates backups of all configuration files and existing scripts before making any changes.

Installation & Updates

Follow these installation instructions to get everything up and running.

Regular updates are provided in this repository. Use the local jddev-update command to update your local jddev scripts.

Documentation

Documentation can be found in the Wiki pages.

Support the Project

If you like and use this tool, please consider making a donation to support further development. 🙌