Unofficial pre-built Docker image of OpenClaw for Raspberry Pi 4 / ARM64 platforms.
This image saves you the ~100 minutes of build time required to compile OpenClaw natively on a Raspberry Pi 4.
OpenClaw is an open-source AI agent orchestration framework built on Node.js. It provides a gateway that manages agent sessions, tool execution, and integrations with external messaging channels. OpenClaw itself is LLM-agnostic and supports multiple backends; configure your preferred provider in ~/.openclaw/openclaw.json.
For full details, see the upstream project: https://github.com/openclaw/openclaw
| Tag | Description |
|---|---|
latest | Latest build |
arm64 | Explicit ARM64 (aarch64) build |
YYYYMMDD | Date-stamped snapshot (e.g., 20260508) |
All tags currently point to the same image digest.
Architecture: linux/arm64 only.
Built from upstream commit: eebbe41da2bc54838d25b38a410ed4e9d9cc8b33 (2026-05-08)
Important: The Docker image contains only the application binary. Runtime configuration (
~/.openclaw/) must exist on the host before the gateway can start. Skipping setup and runningdocker compose updirectly will result in a crash-restart loop.
# 1. Clone the upstream repository (provides docker-compose.yml and setup scripts)
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# 2. Run the official setup script with this image (skips the local build)
# This creates ~/.openclaw/, generates a gateway token, runs onboarding, and starts the gateway
OPENCLAW_IMAGE=taokiuhuru/openclaw:latest ./scripts/docker/setup.sh
# 3. Verify
docker compose ps
docker compose logs openclaw-gateway --tail 20
The setup script handles everything: pulling the image, writing ~/.openclaw/openclaw.json, generating a gateway token in .env, running the interactive onboarding wizard (API key setup, channel configuration), and starting the gateway.
Note on
controlUi.allowedOrigins: If the gateway enters a crash-restart loop after setup, add the following to thegatewaysection of~/.openclaw/openclaw.jsonand restart:"controlUi": { "allowedOrigins": ["http://127.0.0.1:18789", "http://localhost:18789"] }This is required when Docker's internal networking causes the gateway to be seen as non-loopback.
If you already have a working OpenClaw installation elsewhere, you can transfer the configuration instead of going through the setup wizard again.
# --- On the SOURCE host ---
# Archive the configuration directory
tar czf openclaw-config.tar.gz -C ~ .openclaw
# Copy to the target host (replace TARGET_IP)
scp openclaw-config.tar.gz pi@TARGET_IP:~/
# --- On the TARGET host ---
# Clone the upstream repository
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# Restore the configuration
tar xzf ~/openclaw-config.tar.gz -C ~
# Create docker-compose.override.yml
cat > docker-compose.override.yml << 'EOF'
services:
openclaw-gateway:
image: taokiuhuru/openclaw:latest
ports:
- "127.0.0.1:18789:18789"
- "127.0.0.1:18790:18790"
EOF
# Pull and start — no build required
docker compose pull
docker compose up -d
Note: The
.envfile (gateway token) is included in the archive. Both hosts will share the same token. Generate a new one if you need independent credentials per host.
docker pull taokiuhuru/openclaw:latest
docker inspect taokiuhuru/openclaw:latest --format '{{.Architecture}} / {{.Os}}'
# Expected: arm64 / linux
OpenClaw is licensed under the MIT License (Copyright © 2025 Peter Steinberger). This image is a binary distribution of that software and is provided under the same MIT License terms.
If you prefer to build the image yourself:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
docker build -t openclaw:local .
On a Raspberry Pi 4, expect ~100 minutes and ~18GB of peak disk usage.
On an Apple Silicon Mac (cross-build with docker buildx), expect ~10 minutes.
Image refreshes are sporadic and not tied to upstream releases. Check the date-stamped tag for the freshness of each build.
Content type
Image
Digest
sha256:8e5293815…
Size
660.4 MB
Last updated
5 months ago
docker pull taokiuhuru/openclaw