- Shell 100%
| .githooks | ||
| installer | ||
| src/Scripts | ||
| updater | ||
| .gitignore | ||
| CLAUDE.md | ||
| Install.md | ||
| LICENSE | ||
| README.md | ||
| Update.md | ||
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. 🙌