All AEM as a Cloud Service skills: component development, Workflow model design, development, triggering, launchers, debugging, and triaging, Dispatcher config authoring, advisory, incident response, performance tuning, and security hardening, Rapid Development Environment (RDE) deployment, log inspection, snapshots, and troubleshooting via `aio aem rde`, Jackrabbit Oak query/index tuning (property, Lucene index definitions), and extracting/inventorying JCR queries (XPath, SQL2, QueryBuilder) across a codebase.
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Use this reference when cloud dispatcher work requires a local SDK-backed runtime, not just static validation.
This file documents the launcher contract exposed by the shipped Dispatcher SDK scripts. It aligns with Set up Dispatcher Tools (Adobe Experience League): Dispatcher is run locally using Docker against the src Dispatcher and Apache Web server configuration files. Treat the help output from the installed SDK package as the final authority for your exact SDK version.
Use local SDK execution when you need one of these:
test mode to confirm the processed config and basic HTTPD/dispatcher validityDo not confuse this with deployable cloud config content. These commands are local runtime helpers.
The shipped launcher usage is:
./bin/docker_run.sh <dispatcher-src> <aem-host>:<aem-port> <local-port>
./bin/docker_run.sh <dispatcher-src> <aem-host>:<aem-port> testCommon examples (first argument is the path to the Dispatcher configuration src folder):
./bin/docker_run.sh ./src <aem-host>:4503 8080
DISP_RUN_MODE=stage ./bin/docker_run.sh ./src <aem-host>:4503 8080
DISP_LOG_LEVEL=trace1 ./bin/docker_run.sh ./src <aem-host>:4503 8080
REWRITE_LOG_LEVEL=trace2 ./bin/docker_run.sh ./src <aem-host>:4503 8080
./bin/docker_run.sh ./src <aem-host>:4503 testFor an AEM project, point to the project's dispatcher/src folder (e.g. ~/code/my-project/dispatcher/src).
Meaning of the positional arguments:
<dispatcher-src>: path to the Dispatcher configuration src folder (e.g. SDK's ./src or project's dispatcher/src). The launcher runs against these config files; there is no separate "out" deployment folder.<aem-host>:<aem-port>: backend AEM endpoint the local Dispatcher runtime should talk to<local-port>: host port that exposes the local Dispatcher runtimetest: run config test mode instead of exposing a live local portHot reload lets the container pick up changes to Dispatcher and Apache config files without restarting the container—useful when iterating on rewrites, filters, vhosts, or other config under <dispatcher-src>.
Many SDK packages include a dedicated launcher:
./bin/docker_run_hot_reload.sh <dispatcher-src> <aem-host>:<aem-port> <local-port>It uses the same positional contract as docker_run.sh but watches the config src folder and reloads when files change. Prefer this when available; if your SDK prints different usage, follow its help output.
HOT_RELOAD with standard launcherIf docker_run_hot_reload.sh is not present, some SDK versions support hot reload via the standard launcher and the HOT_RELOAD environment variable:
HOT_RELOAD=true ./bin/docker_run.sh ./src <aem-host>:<aem-port> 8080Check your SDK version; when supported, config changes under the src folder are picked up without restarting. See Runtime Environment Variables for the HOT_RELOAD variable details.
The shipped launcher help exposes these environment variables:
DISP_RUN_MODEDefines the simulated environment type for the local run.
Valid values:
devstageprodDefault is dev.
DISP_LOG_LEVELSets dispatcher log verbosity.
Valid values:
trace1debuginfowarnerrorDefault is warn.
Use trace1 when you need backend request flow or dispatcher decision detail.
REWRITE_LOG_LEVELSets rewrite-engine log verbosity.
Valid values:
trace1 through trace8debuginfowarnerrorDefault is warn.
Use this when debugging RewriteRule and RewriteCond behavior.
ENV_FILEImports variables from a file before startup.
Use this when local SDK execution depends on variables that would otherwise be exported manually.
HOT_RELOADEnables config reload when watched files in the config src folder change (no container restart).
Valid values:
truefalseDefault is false.
Use this for local iteration loops on rewrites, filters, and vhosts. When your SDK does not provide docker_run_hot_reload.sh, try HOT_RELOAD=true with docker_run.sh if the package supports it. See Hot reload for usage.
ALLOW_CACHE_INVALIDATION_GLOBALLYOverwrites the default invalidation behavior to allow all connections for cache invalidation.
Valid values:
truefalseDefault is false.
Treat this as a local test convenience only. Do not carry this posture into production guidance.
HTTPD_DUMP_VHOSTSEnables vhost dump output for debugging.
Valid values:
truefalseDefault is false.
ENABLE_MANAGED_REWRITE_MAPS_FLAGEnables managed rewrite maps.
Valid values:
truefalseDefault is true.
This matters when local behavior depends on rewrite-map-backed redirects or readiness gating.
MANAGED_REWRITE_MAPS_PROBE_CHECK_SKIPSkips probe checks for managed rewrite maps.
Valid values:
truefalseDefault is false.
Only use this when intentionally isolating local rewrite-map behavior and call out that the check was skipped.
You may also see:
export DOCKER_API_VERSION=1.43This is a host Docker-client compatibility override, not a dispatcher runtime setting. Use it only when the installed SDK scripts or local Docker environment require it.
Use this first when the goal is syntax or processed-config validation:
./bin/docker_run.sh ./src <aem-host>:<aem-port> testUse this before claiming runtime behavior is verified.
Use this when you need request/response verification:
./bin/docker_run.sh ./src <aem-host>:<aem-port> 8080Then verify behavior with representative requests against the local port.
Use this when tuning rewrites, filters, or vhosts repeatedly so config changes apply without restarting the container. See Hot reload for the launcher and HOT_RELOAD fallback.
./bin/docker_run_hot_reload.sh ./src <aem-host>:<aem-port> 8080If your SDK does not include docker_run_hot_reload.sh, use HOT_RELOAD=true ./bin/docker_run.sh ./src <aem-host>:<aem-port> 8080 when supported.
When using local SDK execution in cloud dispatcher skills:
test.tessl-plugin
skills
aem-rde
aem-workflow
code-assessment
content-distribution
create-component
assets
references
dispatcher
incident-response
references
dispatcher-foundation
performance-tuning
references
dispatcher-foundation
security-hardening
references
dispatcher-foundation
technical-advisory
references
dispatcher-foundation
workflow-orchestrator
references
dispatcher-foundation
ensure-agents-md
references
migration
references
dispatcher
legacy-ui
template-modernization
validation
scripts
dispatcher-tool
validate-migration