Topics

On this page

Updating EasyEngine

One command updates EasyEngine and everything it runs: the CLI, its bundled commands, the global services and each site’s containers.

Before you update

Check your Let’s Encrypt email

From v4.13.1, Let’s Encrypt certificates are issued and renewed only when EasyEngine has a valid contact email. This includes the nightly renewal. Check the address:

ee config get le-mail

If it is empty or wrong, set it:

ee config set le-mail admin@example.com

Plan for a short restart per site

An update that brings new images recreates the containers that use them. For v4.13.1 that means every WordPress and PHP site, so expect a short interruption on each site while its containers restart. Run the update at a quiet time.

Update

ee cli update

EasyEngine downloads the new version, checks it, replaces the running copy and then runs the upgrade steps.

Other options:

CommandWhat it does
ee cli update --yesUpdates without asking for confirmation
ee cli update --stableInstalls or reinstalls the latest stable release
ee cli update --nightlyInstalls the latest build of the develop branch. For testing only
ee cli versionShows the installed version

What the update does for you

The upgrade steps depend on the version you move to. From v4.13.0 onwards they include:

If an update fails

If a step fails before all containers are upgraded (for example, when an image can’t be downloaded), EasyEngine undoes the container changes it made in that run. Your server is left as it was, and the next ee cli update starts cleanly.

EasyEngine also reloads nginx-proxy only when its new configuration passes nginx -t. If it doesn’t, EasyEngine keeps the running configuration and shows the nginx error.

Move sites off old PHP versions

PHP 8.4 is the default for new WordPress sites from v4.12.0.

The PHP 7.4 and 8.0 images got their last build in v4.13.0, and PHP 8.1 is end of life upstream. Sites on these versions keep running, but you should move them to a supported version:

ee site update example.com --php=8.4

You can also choose 8.2, 8.3 or 8.5.

Test on a staging copy before you move a production site. Clone the site, switch the copy to the new PHP version and check it:

ee site clone example.com staging.example.com
ee site update staging.example.com --php=8.4

When the copy works as expected, update the production site and delete the copy with ee site delete staging.example.com.