#OpenClaw Installation Help

1 messages · Page 1 of 1 (latest)

hallow ferry
#

Hi @bitter tartan
I need help installing the latest stable version of OpenClaw. I have a Windows 11 machine with wsl2 layer and docker installed on that. I want openclaw to reside within the docker container. Please guide me with the setup. Thanks.

gray estuaryBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

bitter tartanBOT
# hallow ferry Hi <@1457407575476801641> I need help installing the latest stable version of O...

NinaChan, for your setup I’d use the official Docker flow inside WSL2, with the prebuilt stable image so OpenClaw lives in the container and your config/workspace persist on the WSL filesystem.

In WSL/Ubuntu:

# sanity checks
docker compose version
node --version   # OpenClaw needs Node 22.14+ if you run CLI bits outside Docker

# get the compose/setup files
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# use the published stable image instead of building locally
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
bitter tartanBOT
# hallow ferry Hi <@1457407575476801641> I need help installing the latest stable version of O...
# optional but explicit: where persistent config/workspace live on the WSL side
export OPENCLAW_CONFIG_DIR="$HOME/.openclaw"
export OPENCLAW_WORKSPACE_DIR="$HOME/.openclaw/workspace"

./scripts/docker/setup.sh

That script should run onboarding, prompt for provider auth/API keys, generate a gateway token, write .env, and start the gateway with Docker Compose.

Then open this from Windows or WSL browser:

http://127.0.0.1:18789/

If you need the dashboard link/token again:

bitter tartanBOT
# hallow ferry Hi <@1457407575476801641> I need help installing the latest stable version of O...
docker compose run --rm openclaw-cli dashboard --no-open

Useful checks after setup:

docker compose ps
curl -fsS http://127.0.0.1:18789/healthz
docker compose run --rm openclaw-cli status --all
docker compose run --rm openclaw-cli doctor
docker compose run --rm openclaw-cli --version

Two important notes:

  • Run docker compose commands from the repo root.
  • If you hit permission errors on /home/node/.openclaw, the container runs as uid 1000, so fix the WSL-side mount ownership with:
hallow ferry
bitter tartanBOT
# hallow ferry what local path should i run the sanity checks from in powershell

For the two sanity checks I listed, run them in the environment where you’ll run the setup:

PowerShell:

docker compose version
wsl --list --verbose

Those can be run from any local folder in PowerShell, because they don’t depend on the current directory.

Then switch into WSL/Ubuntu and do the OpenClaw setup there:

wsl -d Ubuntu

Inside WSL, use a normal Linux path, for example:

bitter tartanBOT
# hallow ferry what local path should i run the sanity checks from in powershell
cd ~
git clone https://github.com/openclaw/openclaw.git
cd ~/openclaw
docker compose version
./scripts/docker/setup.sh

The important bit: run ./scripts/docker/setup.sh and later docker compose ... commands from the OpenClaw repo root, usually ~/openclaw inside WSL. Avoid cloning/running it from /mnt/c/... if you can; WSL’s Linux filesystem is less painful for permissions and performance.

hallow ferry
#

Here are the shell outputs:

PS C:\WINDOWS\system32> wsl.exe --list --verbose
NAME STATE VERSION

  • docker-desktop Stopped 2
    PS C:\WINDOWS\system32> docker compose version
    Docker Compose version v5.1.2
    PS C:\WINDOWS\system32> node --version
    node : The term 'node' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
    the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:1
  • node --version
  •   + CategoryInfo          : ObjectNotFound: (node:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException
    
    

PS C:\WINDOWS\system32>

bitter tartanBOT
# hallow ferry Here are the shell outputs: PS C:\WINDOWS\system32> wsl.exe --list --verbose ...

That output means you don’t currently have a normal WSL Linux distro installed. docker-desktop is Docker’s internal WSL distro; don’t use that as your OpenClaw workspace.

Node missing in PowerShell is fine if we keep OpenClaw inside Docker/WSL. Next step is to install Ubuntu for WSL:

wsl --list --online
wsl --install -d Ubuntu-24.04

Reboot if Windows asks, then open the new Ubuntu app from Start Menu and create your Linux username/password.

Then in PowerShell verify you now see Ubuntu:

wsl --list --verbose
bitter tartanBOT
bitter tartanBOT
hallow ferry
#

I installed ubuntu -> now how do I install openclaw inside docker

bitter tartanBOT
# hallow ferry I installed ubuntu -> now how do I install openclaw inside docker

Great. Do this from the Ubuntu/WSL terminal, not PowerShell.

First make sure Docker Desktop is integrated with your Ubuntu distro:

docker compose version
docker run --rm hello-world

If either fails, open Docker Desktop → Settings → Resources → WSL integration → enable integration for your Ubuntu distro, then retry.

Then install OpenClaw’s Docker setup files and start the containerized gateway:

sudo apt update
sudo apt install -y git ca-certificates curl
bitter tartanBOT
# hallow ferry I installed ubuntu -> now how do I install openclaw inside docker

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

# use the published stable image instead of building locally
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"

# persistent config/workspace stored in your Ubuntu home
export OPENCLAW_CONFIG_DIR="$HOME/.openclaw"
export OPENCLAW_WORKSPACE_DIR="$HOME/.openclaw/workspace"

./scripts/docker/setup.sh

The setup script should run onboarding, ask for provider auth/API keys, generate a gateway token, write .env, and start the Gateway container.

bitter tartanBOT
bitter tartanBOT
hallow ferry
# bitter tartan Great. Do this from the Ubuntu/WSL terminal, not PowerShell. First make sure Do...

If either fails, open Docker Desktop → Settings → Resources → WSL integration → enable integration for your Ubuntu distro, then retry.

I followed this and enabled the integration and restarted my computer but I still get this error in wsl:

$ docker compose version

The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.

For details about using Docker Desktop with WSL 2, visit:

https://docs.docker.com/go/wsl2/

bitter tartanBOT
# hallow ferry If either fails, open Docker Desktop → Settings → Resources → WSL integration → ...

That error means Docker Desktop still hasn’t injected the Docker CLI into that Ubuntu distro. A few checks usually find it:

In PowerShell:

wsl --list --verbose
docker version

Make sure Docker Desktop is actually running, then in Docker Desktop check both toggles:

  1. Settings → General → Use the WSL 2 based engine
  2. Settings → Resources → WSL integration → Enable integration with my default WSL distro
  3. In the same WSL integration list, enable the specific Ubuntu distro you installed, not just docker-desktop

Then fully restart WSL from PowerShell:

bitter tartanBOT
bitter tartanBOT
hallow ferry
#

should i hatch agent in terminal?

bitter tartanBOT
# hallow ferry should i hatch agent in terminal?

If you’re on the Docker install path, don’t run a separate “hatch agent” command first.

Do the setup from the Ubuntu terminal in the repo root:

cd ~/openclaw
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
./scripts/docker/setup.sh

That script is the Docker onboarding path: it configures auth, writes the gateway token, and starts the containerized Gateway.

After it finishes, use the browser dashboard:

http://127.0.0.1:18789/
bitter tartanBOT
hallow ferry
#

yes it does

bitter tartanBOT
# hallow ferry yes it does

Good, then continue with the Docker setup from Ubuntu:

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

export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
export OPENCLAW_CONFIG_DIR="$HOME/.openclaw"
export OPENCLAW_WORKSPACE_DIR="$HOME/.openclaw/workspace"

./scripts/docker/setup.sh

If you already cloned it, skip the git clone and just cd ~/openclaw.

Answer the onboarding prompts in that terminal. When it finishes, check:

bitter tartanBOT
# hallow ferry yes it does
docker compose ps
curl -fsS http://127.0.0.1:18789/healthz

Then open this in Windows:

http://127.0.0.1:18789/

If the setup script errors, paste the last ~30 lines here and include:

docker compose ps
hallow ferry
#

the gateway is running and i can see the dashboard from my browser - what else?

bitter tartanBOT
bitter tartanBOT
# hallow ferry the gateway is running and i can see the dashboard from my browser - what else?
  1. Configure at least one model provider/API key if onboarding didn’t already do it.

  2. Open the chat in the dashboard and send a small test message like:

Reply with exactly OPENCLAW-OK
  1. If you want OpenClaw reachable from a phone/chat app, add a channel next. Telegram is usually the simplest:
docker compose run --rm openclaw-cli channels add --channel telegram --token "<bot-token>"

If the dashboard chat replies, your base install is done. After that it’s just channels, tools, and preferences.

Docs for the next steps:
https://docs.openclaw.ai/start/getting-started
https://docs.openclaw.ai/channels

bitter tartanBOT
hallow ferry
#

okay thanks
how do i shutdown everything now? openclaw gateway and docker and ubuntu

bitter tartanBOT
bitter tartanBOT
bitter tartanBOT