# ClawDock Stop typing `docker-compose` commands. Just type `clawdock-start`. Inspired by Simon Willison's [Running OpenClaw in Docker](https://til.simonwillison.net/llms/openclaw-docker). - [Quickstart](#quickstart) - [Available Commands](#available-commands) - [Basic Operations](#basic-operations) - [Container Access](#container-access) - [Web UI \& Devices](#web-ui--devices) - [Setup \& Configuration](#setup--configuration) - [Maintenance](#maintenance) - [Utilities](#utilities) - [Common Workflows](#common-workflows) - [Check Status and Logs](#check-status-and-logs) - [Set Up WhatsApp Bot](#set-up-whatsapp-bot) - [Troubleshooting Device Pairing](#troubleshooting-device-pairing) - [Fix Token Mismatch Issues](#fix-token-mismatch-issues) - [Permission Denied](#permission-denied) - [Requirements](#requirements) ## Quickstart **Install:** ```bash mkdir -p ~/.clawdock && curl -sL https://raw.githubusercontent.com/openclaw/openclaw/main/scripts/shell-helpers/clawdock-helpers.sh -o ~/.clawdock/clawdock-helpers.sh ``` ```bash echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc ``` **See what you get:** ```bash clawdock-help ``` On first command, ClawDock auto-detects your OpenClaw directory: - Checks common paths (`~/openclaw`, `~/workspace/openclaw`, etc.) - If found, asks you to confirm - Saves to `~/.clawdock/config` **First time setup:** ```bash clawdock-start ``` ```bash clawdock-fix-token ``` ```bash clawdock-dashboard ``` If you see "pairing required": ```bash clawdock-devices ``` And approve the request for the specific device: ```bash clawdock-approve ``` ## Available Commands ### Basic Operations | Command | Description | | ------------------ | ------------------------------- | | `clawdock-start` | Start the gateway | | `clawdock-stop` | Stop the gateway | | `clawdock-restart` | Restart the gateway | | `clawdock-status` | Check container status | | `clawdock-logs` | View live logs (follows output) | ### Container Access | Command | Description | | ------------------------- | ---------------------------------------------- | | `clawdock-shell` | Interactive shell inside the gateway container | | `clawdock-cli ` | Run OpenClaw CLI commands | | `clawdock-exec ` | Execute arbitrary commands in the container | ### Web UI & Devices | Command | Description | | ----------------------- | ------------------------------------------ | | `clawdock-dashboard` | Open web UI in browser with authentication | | `clawdock-devices` | List device pairing requests | | `clawdock-approve ` | Approve a device pairing request | ### Setup & Configuration | Command | Description | | -------------------- | ------------------------------------------------- | | `clawdock-fix-token` | Configure gateway authentication token (run once) | ### Maintenance | Command | Description | | ------------------ | ------------------------------------------------ | | `clawdock-rebuild` | Rebuild the Docker image | | `clawdock-clean` | Remove all containers and volumes (destructive!) | ### Utilities | Command | Description | | -------------------- | ----------------------------------------- | | `clawdock-health` | Run gateway health check | | `clawdock-token` | Display the gateway authentication token | | `clawdock-cd` | Jump to the OpenClaw project directory | | `clawdock-config` | Open the OpenClaw config directory | | `clawdock-workspace` | Open the workspace directory | | `clawdock-help` | Show all available commands with examples | ## Common Workflows ### Check Status and Logs **Restart the gateway:** ```bash clawdock-restart ``` **Check container status:** ```bash clawdock-status ``` **View live logs:** ```bash clawdock-logs ``` ### Set Up WhatsApp Bot **Shell into the container:** ```bash clawdock-shell ``` **Inside the container, login to WhatsApp:** ```bash openclaw channels login --channel whatsapp --verbose ``` Scan the QR code with WhatsApp on your phone. **Verify connection:** ```bash openclaw status ``` ### Troubleshooting Device Pairing **Check for pending pairing requests:** ```bash clawdock-devices ``` **Copy the Request ID from the "Pending" table, then approve:** ```bash clawdock-approve ``` Then refresh your browser. ### Fix Token Mismatch Issues If you see "gateway token mismatch" errors: ```bash clawdock-fix-token ``` This will: 1. Read the token from your `.env` file 2. Configure it in the OpenClaw config 3. Restart the gateway 4. Verify the configuration ### Permission Denied **Ensure Docker is running and you have permission:** ```bash docker ps ``` ## Requirements - Docker and Docker Compose installed - Bash or Zsh shell - OpenClaw project (from `docker-setup.sh`) ## Development **Test with fresh config (mimics first-time install):** ```bash unset CLAWDOCK_DIR && rm -f ~/.clawdock/config && source scripts/shell-helpers/clawdock-helpers.sh ``` Then run any command to trigger auto-detect: ```bash clawdock-start ```