EasyEngine CLI Cheat Sheet 🧭
A quick-reference guide to the most common site, WordPress, cron, and shell workflows.
Conventions
- Replace
example.comwith your domain (site name).- Square brackets
[...]mean optional.- Angle brackets
<...>mean required.- SSL values you’ll see here:
le(Let’s Encrypt) andself(self-signed).
Site Management (All Site Types) 🏗️
1) Create a site (HTML)
Command
ee site create --type=html <site-name> [--ssl=<value>] [--wildcard] [--skip-status-check]
Options
-
<site-name>: Domain / site name. -
--ssl=<value>: Enable SSL.le= Let’s Encryptself= Self-signed
-
--wildcard: Request a wildcard certificate (typically with Let’s Encrypt). -
--skip-status-check: Skip checking site status before action.
Examples
-
Create an HTML site:
ee site create example.com --type=html -
Create with Let’s Encrypt SSL:
ee site create example.com --type=html --ssl=le -
Create with Let’s Encrypt wildcard SSL:
ee site create example.com --type=html --ssl=le --wildcard -
Create with self-signed SSL:
ee site create example.com --type=html --ssl=self
2) Delete a site 🧹
Command
ee site delete <site-name> [--yes]
Options
<site-name>: Site to delete.--yes: Skip confirmation prompt.
Example
ee site delete example.com
3) Update a site (commonly used for SSL) 🔧
Command
ee site update [<site-name>] [--ssl=<ssl>] [--wildcard]
Options
[<site-name>]: Site to update (if omitted, behavior depends on EE context/version).--ssl=<ssl>: Enable SSL on an existing site.--wildcard: Enable wildcard SSL.
Examples
-
Add Let’s Encrypt SSL:
ee site update example.com --ssl=le -
Add wildcard Let’s Encrypt SSL:
ee site update example.com --ssl=le --wildcard -
Add self-signed SSL:
ee site update example.com --ssl=self
4) Enable / Disable a site ⚙️
Enable (starts containers if stopped)
ee site enable [<site-name>] [--force] [--verify]
Options
--force: Force execution.--verify: Verify dependent global services (slower, but safer).
Examples
-
Enable site:
ee site enable example.com -
Enable with dependency verification:
ee site enable example.com --verify -
Force enable:
ee site enable example.com --force
Disable (stops and removes site containers)
ee site disable [<site-name>]
Example
ee site disable example.com
5) SSL verify/renew 🔒
Command
ee site ssl <site-name> [--force]
Options
--force: Force renewal.
Example
ee site ssl example.com --force
6) Site info ℹ️
Command
ee site info [<site-name>]
Example
ee site info example.com
7) List sites 📋
Command
ee site list [--enabled] [--disabled] [--format=<format>]
Options
-
--enabled: Only enabled sites. -
--disabled: Only disabled sites. -
--format=<format>: Output format.table(default)csvyamljsoncounttext
Examples
-
List all:
ee site list -
List enabled:
ee site list --enabled -
List disabled:
ee site list --disabled -
JSON output:
ee site list --format=json -
Count:
ee site list --format=count
8) Reload / Restart (pattern) 🔁
Your docs show the same argument pattern for several actions:
ee site reload --type=<type> <site-name> [--ssl=<value>] [--wildcard] [--skip-status-check]
ee site restart --type=<type> <site-name> [--ssl=<value>] [--wildcard] [--skip-status-check]
Notes
--type=<type>: Site type (html,wp,php, etc.).--ssl=<value>and--wildcardfollow the same meaning as create/update.- These commands are typically used for re-provisioning / restarting the site stack.
Example
ee site restart --type=html example.com
9) Share a site via ngrok 🌐
Command
ee site share <site-name> [--disable] [--refresh] [--token=<token>]
Options
--disable: Take the shared link down.--refresh: Refresh if share link expired.--token=<token>: ngrok auth token.
Examples
10) Clear cache (page/object) 🧼
Command
ee site clean [<site-name>] [--page] [--object]
Options
--page: Clear page cache.--object: Clear object cache.
Examples
-
Clear both (no flags):
ee site clean example.com -
Clear object cache:
ee site clean example.com --object -
Clear page cache:
ee site clean example.com --page
WordPress Sites (--type=wp) 📝
1) Create a WordPress site
Command
ee site create --type=wp <site-name> [--cache] [--vip] [--mu=<subdir>] [--mu=<subdom>] [--title=<title>] \
[--admin-user=<admin-user>] [--admin-pass=<admin-pass>] [--admin-email=<admin-email>] \
[--local-db] [--with-local-redis] [--php=<php-version>] \
[--dbname=<dbname>] [--dbuser=<dbuser>] [--dbpass=<dbpass>] [--dbhost=<dbhost>] \
[--dbprefix=<dbprefix>] [--dbcharset=<dbcharset>] [--dbcollate=<dbcollate>] \
[--skip-check] [--version=<version>] [--skip-content] [--skip-install] [--skip-status-check] \
[--ssl=<value>] [--wildcard] [--yes] [--force]
Most-used options
-
Core install
--title=<title>--admin-user=<admin-user>--admin-pass=<admin-pass>--admin-email=<admin-email>
-
SSL
--ssl=le/--ssl=self--wildcard
-
Caching / Redis
--cache: Enable Redis cache for WP.--with-local-redis: Use a site-local Redis container.
-
Multisite
--mu=subdir: Multisite with subdirectories.--mu=subdom: Multisite with subdomains.
-
Database placement
-
--local-db: Separate DB container for this site instead of global DB. -
Remote DB:
--dbhost=<dbhost>--dbuser=<dbuser>--dbpass=<dbpass>--skip-check(skip DB connection check)--force(reset remote DB if not empty)
-
-
WP version/content
--version=<version>:latest,nightly, or a version number.--skip-content: Don’t download default themes/plugins.--skip-install: Skipwp core install.
PHP version
-
--php=<php-version>(as per your docs)5.67.2latest(default)
Examples
-
Basic WP site:
ee site create example.com --type=wp -
Multisite (subdir):
ee site create example.com --type=wp --mu=subdir -
Multisite (subdom):
ee site create example.com --type=wp --mu=subdom -
WP + Let’s Encrypt:
ee site create example.com --type=wp --ssl=le -
WP + wildcard SSL:
ee site create example.com --type=wp --ssl=le --wildcard -
WP + self-signed SSL:
ee site create example.com --type=wp --ssl=self -
WP with remote DB:
ee site create example.com --type=wp --dbhost=localhost --dbuser=username --dbpass=password -
WP with custom title/admin (as in your docs; note:
--localeappears in example though not listed in options):ee site create example.com --type=wp --title=easyengine --locale=nl_NL \ --admin-email=easyengine@example.com --admin-user=easyengine --admin-pass=easyengine
2) WP reload / restart (pattern) 🔁
These mirror the WP create flags:
ee site reload --type=wp <site-name> [same flags as create…]
ee site restart --type=wp <site-name> [same flags as create…]
Example
ee site restart --type=wp example.com
Cron Management (ee cron) ⏱️
1) Overview / help entry
ee cron
2) Create a cron job
Command
ee cron create [<site-name>] --command=<command> --schedule=<schedule> [--user=<user>]
Targets
- Site cron: pass
<site-name>(e.g.,example.com) - Host cron: use
hostas site-name target (per your examples)
Schedule formats
-
Standard Linux cron: e.g.
* * * * * -
Shortcut macros:
@yearly/@annually→0 0 1 1 *@monthly→0 0 1 * *@weekly→0 0 * * 0@daily/@midnight→0 0 * * *@hourly→0 * * * *
-
Fixed interval:
-
@every <duration>- duration units:
h,m,s - examples:
10m,1h,1h10m2s
- duration units:
-
Examples
-
Run WP cron due events every 10 minutes (site):
ee cron create example.com --command='wp cron event run --due-now' --schedule='@every 10m' -
Run every minute with Linux cron format:
ee cron create example.com --command='wp cron event run --due-now' --schedule='* * * * *' -
Run every minute as
www-data:ee cron create example.com --command='wp cron event run --due-now' --schedule='* * * * *' --user=www-data -
Add cron on the host machine:
ee cron create host --command='wp cron event run --due-now' --schedule='@every 10m' -
Weekly cron on host:
ee cron create host --command='wp media regenerate --yes' --schedule='@weekly'
3) List cron jobs
Command
ee cron list [<site-name>] [--all]
Examples
-
List cron jobs (default view):
ee cron list -
List cron jobs for one site:
ee cron list example.com -
View all cron jobs:
ee cron list --all
4) Update a cron job
Command
ee cron update <id> [--site=<site>] [--command=<command>] [--schedule=<schedule>] [--user=<user>]
Examples
-
Change site target:
ee cron update 1 --site='example1.com' -
Change command:
ee cron update 1 --command='wp cron event run --due-now' -
Change command + user:
ee cron update 1 --command='wp cron event run --due-now' --user=root -
Change schedule:
ee cron update 1 --schedule='@every 1m'
5) Run a cron job now ▶️
Command
ee cron run-now <cron-id>
Example
ee cron run-now 1
6) Delete a cron job 🗑️
Command
ee cron delete <cron-id>
Example
ee cron delete 1
Shell / Exec Into Containers (ee shell) 🧰
Open a shell (interactive) or run a command (non-interactive)
Command
ee shell [<site-name>] [--user=<user>] [--service=<service>] [--command=<command>] [--skip-tty]
Options
-
[<site-name>]: Site name to enter. -
--user=<user>: Exec as a specific user (e.g.,root). -
--service=<service>: Which service/container to exec into.- default:
php
- default:
-
--command=<command>: Run a single command non-interactively. -
--skip-tty: Don’t allocate a TTY (useful in CI).
Examples
-
Open default shell (PHP service):
ee shell example.com -
Open shell as root:
ee shell example.com --user=root -
Open shell into nginx:
ee shell example.com --service=nginx -
Run a one-shot command in nginx:
ee shell example.com --service=nginx --command='nginx -t && nginx -s reload'
“Fast Lookup” Index ✅
- Create HTML site:
ee site create --type=html example.com - Create WP site:
ee site create --type=wp example.com - Add SSL:
ee site update example.com --ssl=le - Force renew SSL:
ee site ssl example.com --force - Enable / Disable:
ee site enable example.com/ee site disable example.com - Info:
ee site info example.com - List sites:
ee site list --format=json - Share via ngrok:
ee site share example.com - Clear cache:
ee site clean example.com --page(or--object) - Cron add:
ee cron create example.com --command='...' --schedule='@every 10m' - Cron list:
ee cron list --all - Shell:
ee shell example.com --service=php
If you tell me which EasyEngine major version you’re on (v4/v5+) and which site types you actually use (html/php/wp), I can tailor this into a one-page condensed cheat sheet plus a troubleshooting mini-section (common errors + exact commands to diagnose).