Joomla utilities for DDEV
Find a file
René Kreijveld 7e24b0e87a
All checks were successful
ShellCheck / shellcheck (push) Successful in 8s
Fixed uninstall error
2026-07-11 14:03:48 +02:00
.forgejo/workflows Added an uninstall scritpt 2026-07-11 14:00:28 +02:00
.githooks Added an uninstall scritpt 2026-07-11 14:00:28 +02:00
installer Updated links after move to code.kreijveld.com 2026-05-31 14:26:08 +02:00
src/Scripts Added --no-drop so the orinigal db does not get dropped. 2026-07-02 13:12:18 +02:00
uninstaller Fixed uninstall error 2026-07-11 14:03:48 +02:00
updater Update versdion comment 2026-05-31 19:54:42 +02:00
.gitignore Update .gitignore 2026-07-08 08:32:04 +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 Added an uninstall scritpt 2026-07-11 14:00:28 +02:00
Uninstall.md Added an uninstall scritpt 2026-07-11 14:00:28 +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

ShellCheck runs server-side on every push via the Forgejo Actions workflow .forgejo/workflows/shellcheck.yml — this always runs and is the authoritative check.

For fast feedback, you can also activate the local pre-commit ShellCheck hook after cloning:

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 & Uninstallation

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.

If you want to remove the scripts again, follow these uninstall instructions.

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. 🙌