Official Docker Compose Deployment

Advanced ⏱ 40 minutes 📅 Updated Aug 2026

Supported Docker Compose setup with persistent OpenClaw state, authenticated dashboard access, and optional local models.

🏗️ Architecture

  • openclaw-gateway - Long-running Gateway service
  • openclaw-cli - One-off administration and channel commands
  • OpenClaw state - Persistent config, sessions, credentials, and plugins
  • Optional home volume - Persists tools and authentication under /home/node
1

Run the official setup

bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# Use the official pre-built image and persist /home/node
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
export OPENCLAW_HOME_VOLUME="openclaw_home"

# Creates .env, runs onboarding, and starts the stack
./scripts/docker/setup.sh

Open the Control UI

bash
docker compose run --rm openclaw-cli dashboard --no-open

Open http://127.0.0.1:18789/ and enter the Gateway token written to .env.

📋 Management Commands

bash
# Start the Gateway
docker compose up -d openclaw-gateway

# View logs
docker compose logs -f openclaw-gateway

# Check Gateway status
docker compose run --rm openclaw-cli status

# Configure a channel
docker compose run --rm openclaw-cli channels login

# Update through the supported setup flow
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
./scripts/docker/setup.sh

# Stop the stack
docker compose down

# Remove containers and named volumes (destructive)
docker compose down -v
🎉

Gateway Running

Your authenticated Control UI is available at http://127.0.0.1:18789