If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.
ddev-amezmo is a DDEV integration for CMS and framework applications hosted on Amezmo. It downloads a selected Amezmo environment’s database and persistent storage files into a local DDEV project and can upload local database and persistent storage files back to a selected environment. It never deploys application code.
Production and staging profiles are installed independently. Drupal, WordPress, and custom application adapters are supported.
This add-on supports one MySQL-compatible database and one persistent storage directory per environment on macOS, Linux, and WSL2. Amezmo API discovery, multiple databases or storage mounts, Redis, Solr, workers, cron, environment-variable recreation, deployments, and native Windows are out of scope. The automated suite uses mocked SSH and does not prove compatibility with a live Amezmo account.
ssh and rsync commands.The add-on honors ~/.ssh/config, IdentityFile, SSH agents, and normal known_hosts verification. It never disables host-key checking. If your key is available only through DDEV’s agent, run ddev auth ssh.
ddev config
ddev add-on get sdubois/ddev-amezmo
For a local checkout:
ddev add-on get /absolute/path/to/ddev-amezmo
Installation creates production and staging profiles under .ddev/providers/ and .ddev/amezmo/environments/. Edit the environment files and remove their #ddev-generated markers so upgrades preserve your settings.
Set these values independently in .ddev/amezmo/environments/production.env and staging.env:
export AMEZMO_ENVIRONMENT=production
export AMEZMO_APP_TYPE=drupal
export AMEZMO_SSH_HOST=your-amezmo-host
export AMEZMO_SSH_PORT=12345
export AMEZMO_SSH_USER=deployer
export AMEZMO_REMOTE_APP_ROOT=/webroot/current
export AMEZMO_DRUSH_ALIAS=live
export AMEZMO_REMOTE_FILES_PATH=/webroot/storage
export AMEZMO_LOCAL_FILES_PATH=web/sites/default/files
Use the SSH endpoint, application root, Drush alias, and persistent storage paths for that exact Amezmo environment. Amezmo normally stores persistent data under /webroot/storage; staging environments can have a different storage root. Do not derive staging values from production. See the configuration reference for all settings and adapter examples.
ddev restart
ddev amezmo doctor production
ddev amezmo pull production
ddev amezmo push staging
Useful options include --skip-db, --skip-files, and -y:
ddev amezmo doctor staging
ddev amezmo pull staging --skip-db
doctor is read-only. A download can replace the local database and copy sensitive persistent storage files from Amezmo, so back up local work and follow your organization’s data-handling rules.
push uploads the local database and persistent storage files to the selected Amezmo environment. DDEV displays a confirmation prompt, and the add-on prints an additional warning identifying the Amezmo target. Review the environment, local data, and paths carefully; uploading to production can overwrite important data. File uploads overwrite matching files but do not delete files already in the Amezmo environment. Database uploads replace the target database contents through the selected application CLI. Use --skip-db or --skip-files when only one asset type should be transferred.
Drupal database uploads use vendor/bin/drush sql:cli in the Amezmo application release by default. WordPress database uploads use wp db import -. Set AMEZMO_REMOTE_CLI_PATH in the environment profile when the application CLI is elsewhere. Custom adapters must set AMEZMO_REMOTE_DB_IMPORT_COMMAND; the command receives the uncompressed SQL export on standard input.
The detailed reference is in the GitHub Wiki:
shellcheck amezmo/amezmo commands/host/amezmo tests/*.bash
bats tests/test.bats
ddev add-on get "$PWD"
CI validates YAML, ShellCheck, Bats, and local installation when Docker is available.
If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.