Sign inSign up

aemdesign/aem

By aemdesign

•Updated about 2 months ago

AEM OnPrem and SaaS

Image
19

10K+

aemdesign/aem repository overview

⁠AEM SDK

build_status github license github issues github last commit github repo size docker stars docker pulls github release

Docker image based on aemdesign/aem-base⁠ with AEM SDK.

One image that can be used for both Author and Publish nodes. No license is included, you will need to register when starting up.

Docker image for linux/amd64 (also runs on Apple Silicon via Rosetta 2).

⁠Docker Images

Images are available on both registries:

  • Docker Hub: aemdesign/aem
  • GitHub Container Registry: ghcr.io/aem-design/aem
⁠Tags
  • latest - Latest build from master branch
  • sdk-2026.2.24464 - Current SDK version branch
  • Version tags (pushed when git tags are created)
⁠AEM Version

Folling base version of AEM jar used for this image, additional packages installed in separate branches.

Version: SDK

⁠Environment Variables

Following environment variables are available

NameDefault ValueNotes
AEM_VERSION"aem-sdk-2023.1.10912.20230130T173736Z-230100"only used during build
AEM_JVM_OPTS"-server -Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=256M -XX:+CMSClassUnloadingEnabled -Djava.awt.headless=true -Dorg.apache.felix.http.host=0.0.0.0" -XX:+UseParallelGC --add-opens=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.jrt=ALL-UNNAMED⁠ --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED -Dnashorn.args=--no-deprecation-warning
AEM_START_OPTS"start -c /aem/crx-quickstart -i launchpad -p 8080 -a 0.0.0.0 -Dsling.properties=conf/sling.properties"
AEM_JARFILE"/aem/crx-quickstart/app/cq-quickstart-cloudready-${AEM_VERSION}-standalone-quickstart.jar"
AEM_RUNMODE"-Dsling.run.modes=author,crx3,crx3tar,nosamplecontent"
⁠Volumes

Following volumes are exposed

PathNotes
"/aem/crx-quickstart/repository"
"/aem/crx-quickstart/logs"setup your logs to out put to console
"/aem/backup"
⁠Ports

Following Ports are exposed

PathNotes
8080main http port
58242debug
57345debug
57346debug
⁠Packages in Bundled

Following bundles are added to container

FileNotes
⁠Starting

To start author run the following:

docker run --name author-sdk-2025-7-21644 -e "TZ=Australia/Sydney" -e "AEM_RUNMODE=-Dsling.run.modes=author,crx3,crx3tar,localdev" -e "AEM_JVM_OPTS=-server -Xms248m -Xmx1524m -XX:MaxDirectMemorySize=256M -XX:+CMSClassUnloadingEnabled -Djava.awt.headless=true -Dorg.apache.felix.http.host=0.0.0.0 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=58242,suspend=n -XX:+UseParallelGC --add-opens=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.jrt=ALL-UNNAMED --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED -Dnashorn.args=--no-deprecation-warning" -p4502:8080 -p30303:58242 -d aemdesign/aem:sdk-2026.2.24464

⁠Development

⁠CI/CD Pipeline

The project uses GitHub Actions for continuous integration and deployment:

  • Platform: Images are built for linux/amd64
  • Apple Silicon support: Works seamlessly on M1/M2/M3/M4 Macs via Docker Desktop's Rosetta 2 emulation
  • Automated testing: Java version is verified before pushing
  • Image analysis: Uses dive for Docker image layer analysis
  • Dual registry push: Automatically pushes to Docker Hub and GitHub Container Registry
  • Git tag versioning: Pushing a git tag automatically creates a corresponding Docker image tag
⁠Running on Apple Silicon Macs (M1/M2/M3/M4)

This image is built for linux/amd64 architecture but runs seamlessly on Apple Silicon Macs through Rosetta 2 emulation in Docker Desktop.

⁠Prerequisites
  1. Docker Desktop for Mac (version 4.25.0 or later recommended)

  2. Rosetta 2 (usually already installed on modern macOS)

    • To verify/install: softwareupdate --install-rosetta
⁠Enable Rosetta 2 in Docker Desktop
  1. Open Docker Desktop
  2. Go to Settings (⚙️ icon) → General
  3. Enable "Use Rosetta for x86_64/amd64 emulation on Apple Silicon"
  4. Click Apply & Restart

Docker Desktop Rosetta Setting

⁠Verify It's Working
# Pull and run the image
docker pull aemdesign/aem:latest
docker run --rm aemdesign/aem:latest uname -m

# Expected output: x86_64 (running via Rosetta 2)
⁠Performance Notes
  • Rosetta 2 emulation provides near-native performance for most workloads
  • First container start may be slightly slower (Rosetta translation cache warmup)
  • Subsequent starts are fast
  • No code changes needed - everything works transparently
⁠Monitoring Pipeline Status

Use the get-action-logs.ps1 PowerShell script to monitor GitHub Actions workflow status and logs.

⁠Prerequisites
  • GitHub CLI (gh) must be installed and authenticated
  • Install: winget install --id GitHub.cli
  • Authenticate: gh auth login
⁠Quick Start
# Check current commit's pipeline status (saves logs to logs/ folder by default)
.\get-action-logs.ps1

# Wait for pipeline to complete
.\get-action-logs.ps1 -WaitForCompletion

# Show logs in console
.\get-action-logs.ps1 -ShowLogs

# Force re-download logs
.\get-action-logs.ps1 -Force

See full documentation: Get-Help .\get-action-logs.ps1 -Full

⁠Creating a New Release

See RELEASE.md⁠ for the full release runbook. See DEPENDENCY-CHAIN.md⁠ for cross-repository dependency and update order.

Quick tag example:

git tag sdk-2026.2.24464
git push origin sdk-2026.2.24464

Tag push automatically builds and publishes versioned Docker images to both registries.

⁠License

See LICENSE⁠ file for details.

Tag summary

Content type

Image

Digest

sha256:b4a2a8785…

Size

1.3 GB

Last updated

about 2 months ago

docker pull aemdesign/aem:sdk-2026.2.24464