Pre-built Docker image for OpenClaw — run your AI assistant in seconds without building from source.
🔄 Always Up-to-Date: This image automatically builds daily and checks for new OpenClaw releases every 6 hours, ensuring you always have the latest version.
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.sh)irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.ps1 | iexNote for Windows users: Make sure Docker Desktop is installed and running. You can also use WSL2 with the Linux installation command.
This will:
- ✅ Check prerequisites (Docker, Docker Compose)
- ✅ Download necessary files
- ✅ Pull the pre-built image
- ✅ Run the onboarding wizard
- ✅ Start the gateway
Linux / macOS:
Linux / macOS:
# Just pull the image (no setup)
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.sh) --pull-only
# Skip onboarding (if already configured)
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.sh) --skip-onboard
# Don't start gateway after setup
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.sh) --no-start
# Custom install directory
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.sh) --install-dir /opt/openclawWindows (PowerShell):
# Just pull the image (no setup)
irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.ps1 | iex -PullOnly
# Skip onboarding (if already configured)
irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.ps1 | iex -SkipOnboard
# Don't start gateway after setup
irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.ps1 | iex -NoStart
# Custom install directory
$env:TEMP_INSTALL_SCRIPT = irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.ps1; Invoke-Expression $env:TEMP_INSTALL_SCRIPT -InstallDir "C:\openclaw"# Pull the image
docker pull ghcr.io/phioranex/openclaw-docker:latest
# Run onboarding (first time setup)
docker run -it --rm \
-v ~/.openclaw:/home/node/.openclaw \
-v ~/.openclaw/workspace:/home/node/.openclaw/workspace \
ghcr.io/phioranex/openclaw-docker:latest onboard
# Start the gateway
docker run -d \
--name openclaw \
--restart unless-stopped \
-v ~/.openclaw:/home/node/.openclaw \
-v ~/.openclaw/workspace:/home/node/.openclaw/workspace \
-p 18789:18789 \
ghcr.io/phioranex/openclaw-docker:latest gateway start --foreground# Clone this repo
git clone https://github.com/phioranex/openclaw-docker.git
cd openclaw-docker
# Run onboarding
docker compose run --rm openclaw-cli onboard
# Start the gateway
docker compose up -d openclaw-gatewayDuring onboarding, you'll configure:
- AI Provider (Anthropic Claude, OpenAI, etc.)
- Channels (Telegram, WhatsApp, Discord, etc.)
- Gateway settings
Config is stored in ~/.openclaw/ and persists across container restarts.
| Tag | Description |
|---|---|
latest |
Latest OpenClaw build (updated daily and on new releases) |
vX.Y.Z |
Specific version (if available) |
main |
Latest from main branch (cutting edge) |
Note: The
latesttag is automatically rebuilt daily at 00:00 UTC and whenever OpenClaw releases a new version.
| Path | Purpose |
|---|---|
/home/node/.openclaw |
Config and session data |
/home/node/.openclaw/workspace |
Agent workspace |
| Port | Purpose |
|---|---|
18789 |
Gateway API + Dashboard |
Linux / macOS:
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.sh)Windows (PowerShell):
irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.ps1 | iexThis will:
- ✅ Stop and remove all containers
- ✅ Ask before removing configuration and workspace data
- ✅ Ask before removing Docker image
- ✅ Ask before removing installation directory
Linux / macOS:
# Keep configuration and workspace data
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.sh) --keep-data
# Keep Docker image (useful if reinstalling later)
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.sh) --keep-image
# Skip all confirmation prompts
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.sh) --force
# Custom install directory
bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.sh) --install-dir /opt/openclawWindows (PowerShell):
# Keep configuration and workspace data
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.ps1))) -KeepData
# Keep Docker image (useful if reinstalling later)
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.ps1))) -KeepImage
# Skip all confirmation prompts
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.ps1))) -Force
# Custom install directory
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/phioranex/openclaw-docker/main/uninstall.ps1))) -InstallDir "C:\openclaw"If you prefer to uninstall manually:
# Stop and remove containers
docker stop openclaw-gateway openclaw-socat
docker rm openclaw-gateway openclaw-socat openclaw-cli
# Remove data (optional)
rm -rf ~/.openclaw
# Remove Docker image (optional)
docker rmi ghcr.io/phioranex/openclaw-docker:latest
# Remove installation directory (optional)
rm -rf ~/openclawIf you encounter EACCES: permission denied errors when running on Synology NAS:
-
Option 1: Run install script with sudo (Recommended)
sudo bash <(curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.sh)The script will automatically:
- Set proper ownership (UID 1000) for the container user
- Configure your user account to access the files
- Update docker-compose.yml to use the correct home directory
-
Option 2: Fix permissions manually
# RECOMMENDED: Set ownership to UID 1000 with group access (most secure) sudo chown -R 1000:$(id -g) ~/.openclaw sudo chmod -R u+rwX,g+rwX,o-rwx ~/.openclaw # Alternative: Make directory writable by owner and group (less secure) chmod -R 775 ~/.openclaw # LAST RESORT ONLY: World-writable (least secure, use only if above options fail) # chmod -R 777 ~/.openclaw
-
Option 3: Use host user mapping Edit
docker-compose.ymland uncomment theuser: "1000:1000"line in both services:user: "1000:1000" # Uncomment this line
If the Telegram bot cannot find your username or numeric ID:
-
Ensure your container has internet access:
docker exec openclaw-gateway ping -c 3 api.telegram.org -
Check if firewall or network restrictions are blocking Telegram API access
-
Verify your Telegram bot token is correct in
~/.openclaw/openclaw.json
If you need root/sudo to pull Docker images:
-
Add your user to the docker group:
sudo usermod -aG docker $USER -
Log out and log back in for the changes to take effect
-
Alternatively, use
sudowhen running the install script
The container is configured to allow the node user to install global npm packages without permission issues. You can install skills using:
# If using docker compose
docker compose exec openclaw-gateway npm install -g @package/name
# If using standalone container
docker exec -it <container_name> npm install -g @package/name
# Find your container name with:
docker psIf you're using user: "1000:1000" in docker-compose.yml, global npm installs will work without any additional configuration.
📺 Watch the installation tutorial: [Coming Soon]
This Docker packaging is provided by Phioranex. OpenClaw itself is licensed under MIT — see the original repo.