This directory is intentionally separate from deploy/clawcloudrun-openclaw/.
Repo layout note: this project currently uses one GitHub repository, two GHCR packages, two logical task lines.
- Task 001 / ClawCloud Run line →
ghcr.io/wan7up/openclaw-clawcloud- Task 004 / ARM64 line →
ghcr.io/wan7up/openclaw-arm64Shared repo does not mean shared deployment target. This ARM64 line is for separate low-end / non-ClawCloud machines and must remain isolated in docs, tags, and operational reasoning.
Build an official-first, minimal-diff ARM64 package on top of:
ghcr.io/openclaw/openclaw:2026.4.5The current rule for this line is:
- start from the official upstream image
- keep only the absolute minimum ARM64 / persistence compatibility changes
- do not carry forward old custom startup semantics unless they are proven necessary
- do not mix this line with ClawCloud Run-specific fixes
- prefer deleting historical wrapper logic over stacking new patches onto it
Current package design is intentionally thin:
- base image:
ghcr.io/openclaw/openclaw:2026.4.5 - platform target:
linux/arm64 - retained overrides:
HOME=/dataOPENCLAW_STATE_DIR=/data/.openclawOPENCLAW_WORKSPACE_DIR=/data/workspaceOPENCLAW_NO_RESPAWN=1
- no custom entrypoint
- no custom configure script
- no ARM64-specific config mutation layer
Why keep these env vars:
HOME=/datakeeps~/.openclawand installer defaults aligned with the mounted persistent volume/data/.openclaw+/data/workspaceprovide stable persistent layout across container recreationOPENCLAW_NO_RESPAWN=1is the one retained mitigation from earlier ARM64 investigation, because the CLI respawn/bootstrap path was a real source of hangs on low-end ARM64 hosts
Primary files now are:
Dockerfile— minimal official-first ARM64 wrapperbuild.sh—docker buildxhelper for ARM64 buildsrun.sh— exampledocker runlauncherREADME.md— current notes for this package line
Historical files still present in this directory should be treated as legacy investigation artifacts, not the preferred runtime path:
- old custom entrypoints
- old configure scripts
- slim experiment files
- older manual-devices packaging notes
Until they are cleaned out, do not assume they describe the current intended package behavior.
Suggested naming for this line:
ghcr.io/wan7up/openclaw-arm64:<tag>Examples:
ghcr.io/wan7up/openclaw-arm64:2026.4.5-official-min
ghcr.io/wan7up/openclaw-arm64:latest-official-minBuild and load a local ARM64 image:
cd deploy/openclaw-arm64
./build.shDefault behavior:
- image name:
openclaw-arm64 - tag:
local - dockerfile:
Dockerfile - platform:
linux/arm64 - output mode:
--load
Equivalent resulting image ref:
openclaw-arm64:localcd deploy/openclaw-arm64
IMAGE_NAME=openclaw-arm64 IMAGE_TAG=test ./build.shcd deploy/openclaw-arm64
IMAGE_NAME=ghcr.io/wan7up/openclaw-arm64 IMAGE_TAG=2026.4.5-official-min ./build.shcd deploy/openclaw-arm64
IMAGE_NAME=ghcr.io/wan7up/openclaw-arm64 IMAGE_TAG=2026.4.5-official-min PUSH=1 LOAD=0 ./build.shdocker run -d \
--name openclaw-arm64 \
--restart unless-stopped \
-p 18789:18789 \
-e HOME=/data \
-e OPENCLAW_STATE_DIR=/data/.openclaw \
-e OPENCLAW_WORKSPACE_DIR=/data/workspace \
-e OPENCLAW_NO_RESPAWN=1 \
-v /storage/openclaw:/data \
ghcr.io/wan7up/openclaw-arm64:latest-official-minIf the host needs env injection, add --env-file /storage/openclaw/.env.
This new line should be judged against a simple acceptance bar:
- container starts from the official 2026.4.5 base on real ARM64 hardware
- state persists correctly under
/data - official plugin install flow remains usable
- existing user config is not silently clobbered during upgrade
- no extra custom startup/config logic is introduced unless real evidence forces it
Current status after the reset decision:
- old ARM64 package line is considered historically polluted and not suitable for more patch-stacking
ghcr.io/openclaw/openclaw:2026.4.2is the only upstream base for the rebuild- this directory has been reset toward an official-first minimal wrapper
- next required step is real build + runtime validation on ARM64, especially around persistence and official plugin install behavior or or or