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 | iex
Note 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/openclaw
Windows (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-gateway
During 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 | iex
This 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/openclaw
Windows (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 ~/openclaw
If 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 ps
If 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.