Install the "openclaw-docker-setup" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/openclaw-docker-setup into .claude/skills/openclaw-docker-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-docker-setup", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-docker-setup -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "openclaw-docker-setup" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/openclaw-docker-setup into .agents/skills/openclaw-docker-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-docker-setup", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-docker-setup -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "openclaw-docker-setup" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/openclaw-docker-setup into .cursor/skills/openclaw-docker-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-docker-setup", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-docker-setup -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "openclaw-docker-setup" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/openclaw-docker-setup into .gemini/skills/openclaw-docker-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-docker-setup", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-docker-setup -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "openclaw-docker-setup" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/openclaw-docker-setup into .github/skills/openclaw-docker-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-docker-setup", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-docker-setup -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "openclaw-docker-setup" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/openclaw-docker-setup into .opencode/skills/openclaw-docker-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-docker-setup", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
openclaw-docker-setup
GitHub stars
2.2k
Token cost
~4.7k tokens
SKILL.md length
1,635 words
Files
10 (incl. references)
Skills in repo
1,215
Repo updated
First seen
Licence
MIT
At a glance
Install and configure a fully operational Dockerized OpenClaw instance on macOS from scratch.
Works in 9 steps: Pick Your Instance Name and Port → Pull the Image → Generate a Claude Setup Token → …
User asks to install openclaw docker
SKILL.md covers Step 0: Pick Your Instance…, Prerequisites, Step 1: Pull the Image and Step 2: Generate a Claude…, plus 11 more sections
Calls docker, claude and node; needs ANTHROPIC_API_KEY
What it does
Openclaw Docker Setup is an agent skill from LeoYeAI/openclaw-master-skills. Install and configure a fully operational Dockerized OpenClaw instance on macOS from scratch. Includes browser pairing, Discord channel setup, and optional Gmail/Google Drive integration. Use when user asks to "install openclaw docker", "set up dockerized openclaw", "openclaw in docker", or "isolated openclaw instance".
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `CHANGELOG.md`, `LICENSE.md` and `README.md`).
It sits in DevOps & Cloud, covering Containers and Email management. It works with Docker, macOS, Discord and Gmail. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
When your agent uses it
User asks to install openclaw docker
Set up dockerized openclaw
Openclaw in docker
Isolated openclaw instance
Example prompts
“install openclaw docker”
“set up dockerized openclaw”
“openclaw in docker”
“/openclaw-docker-setup”
Requirements
Python 3
Docker
A credential in ANTHROPIC_API_KEY
A credential in YOUR_DISCORD_BOT_TOKEN
Workflow steps
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
docker
claude
node
python3
curl
ssh
From the folder's file list and the shell code blocks in SKILL.md.
Network
Links to these hosts (documentation or services it may open):
discord.com
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names these keys or tokens, usually read from environment variables:
ANTHROPIC_API_KEY
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Openclaw Docker Setup loads about 4.7k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 1,635 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~86
When it runs· the whole SKILL.md, loaded when a task matches
~4.7k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~11k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/openclaw-docker-setup/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
openclaw-docker-setup
description
Install and configure a fully operational Dockerized OpenClaw instance on macOS from scratch. Includes browser pairing, Discord channel setup, and optional Gmail/Google Drive integration. Use when user asks to "install openclaw docker", "set up dockerized openclaw", "openclaw in docker", or "isolated openclaw instance".
triggers
install openclaw docker, set up dockerized openclaw, openclaw in docker, isolated openclaw instance, dockerized openclaw, run openclaw in docker
openclaw-docker-setup
Install a fully isolated, production-ready OpenClaw instance inside Docker on macOS.
One session, zero to running. All common pitfalls are handled inline.
Supports multiple instances on the same machine. Each instance gets a unique name and port.
What you end up with:
A named container running and auto-restarting
Persistent data via named Docker volumes (survives container recreation)
(Optional) Gmail working via Himalaya (supports attachments); Google Drive via gog
Step 0: Pick Your Instance Name and Port
Run this auto-detect script. It scans existing OpenClaw containers, finds the next free port, and suggests a name. Confirm or override.
bash
# Auto-detect existing instances and suggest next available name+port
python3 - << 'AUTODETECT'
import subprocess, re
# Find all running openclaw containers
result = subprocess.run(
["docker", "ps", "-a", "--format", "{{.Names}} {{.Ports}}"],
capture_output=True, text=True
)
existing = {}
for line in result.stdout.strip().splitlines():
parts = line.split(' ')
name = parts[0]
ports = parts[1] if len(parts) > 1 else ""
if 'openclaw' in name.lower() or '18789' in ports:
m = re.search(r'0\.0\.0\.0:(\d+)->18789', ports)
port = int(m.group(1)) if m else None
existing[name] = port
# Find next free port starting from 19002
used_ports = set(p for p in existing.values() if p)
port = 19002
while port in used_ports:
port += 1
# Suggest name
count = len(existing) + 1
names = ["openclaw-main", "openclaw-work", "openclaw-demo", "openclaw-test", "openclaw-lab"]
suggested_name = names[min(count - 1, len(names) - 1)]
print("\n=== Existing OpenClaw instances ===")
if existing:
for n, p in existing.items():
print(f" {n} → port {p}")
else:
print(" (none found)")
print(f"\n=== Suggested for new instance ===")
print(f" INSTANCE={suggested_name}")
print(f" HOST_PORT={port}")
print(f"\nTo accept, run:")
print(f" export INSTANCE={suggested_name}")
print(f" export HOST_PORT={port}")
print(f"\nTo override, replace the values and run the export commands with your chosen values.")
AUTODETECT
Review the output, then set your variables:
bash
# Accept suggestion (paste the export lines from the output above)
export INSTANCE=openclaw-main
export HOST_PORT=19002
# Or override with your own values:
export INSTANCE=openclaw-demo
export HOST_PORT=19003
All subsequent commands in this guide use $INSTANCE and $HOST_PORT. Keep this terminal session open, or re-export the variables if you open a new one.
Multiple instances example:
Instance
Host port
Purpose
openclaw-main
19002
Primary personal assistant
openclaw-demo
19003
Public demo / lecture
openclaw-work
19004
Work projects
Each instance has its own volumes ($INSTANCE-data, $INSTANCE-home) — data is fully isolated.
Prerequisites
macOS (Darwin) — Intel or Apple Silicon
Docker Desktop installed and running (or Docker Engine + CLI)
Claude Code CLI installed on the host if using a Claude Max/Pro subscription (claude command available). Skip if using a raw API key.
Verify Docker is running:
bash
docker --version
docker ps
Both commands must succeed before continuing.
Step 1: Pull the Image
The official image is on GitHub Container Registry (GHCR), not Docker Hub.
bash
docker pull ghcr.io/openclaw/openclaw:latest
Pitfall:openclaw/openclaw on Docker Hub does not exist. Always use ghcr.io/openclaw/openclaw:latest.
Success: Pull completes without error and docker images | grep openclaw shows the image.
Step 2: Generate a Claude Setup Token
Skip this step if you have a raw Anthropic API key — you will pass it via -e ANTHROPIC_API_KEY=sk-ant-api03-... in Step 3 instead.
If you have a Claude Max or Pro subscription, generate a setup token on the host:
bash
claude setup-token
Copy the token (format: sk-ant-oat01-...). You will paste it into the container in Step 5.
Pitfall: This is a setup token, not an API key. The two are different. A setup token lets the container authenticate using your subscription. An API key charges per token.
Step 3: Launch the Container
Use the $INSTANCE and $HOST_PORT variables you set in Step 0. Do not reduce the memory — 512 MB and 1024 MB are insufficient and cause crash loops.
If using a raw API key instead of a setup token, add -e ANTHROPIC_API_KEY=sk-ant-api03-... before the image name.
Wait 10 seconds, then verify:
bash
docker ps --filter name=$INSTANCE
Success: Status shows Up X seconds and the container is not restarting.
Pitfall — OOM crash loop: If the container keeps restarting, check logs:
docker logs --tail 20 $INSTANCE
If you see JavaScript heap out of memory, the container needs -m 2048m AND -e NODE_OPTIONS="--max-old-space-size=1024". Recreate with the full command above.
Pitfall — port conflict: If the port is in use, you chose the wrong HOST_PORT in Step 0. Re-run the conflict check: lsof -i :$HOST_PORT. Pick a free port and relaunch.
Step 4: Configure the Gateway
The gateway binds to 127.0.0.1 (loopback) inside the container by default. Docker port-forwarding sends traffic to the container's network interface, not its loopback. You must switch to LAN mode.
4a. Set bind to LAN
bash
docker exec $INSTANCE node /app/openclaw.mjs config set gateway.bind lan
4b. Set allowed origins
Non-loopback bind requires explicitly allowed origins or the gateway refuses to start:
Pitfall — crash after setting LAN bind: If you set gateway.bind lan but forget the allowedOrigins step, the container crash-loops with non-loopback Control UI requires gateway.controlUi.allowedOrigins. Run step 4b, then restart.
Step 5: Register Authentication
Important: Do NOT paste your token directly in the command line — it would be stored in shell history. The command below prompts interactively.
Pitfall — openclaw command not found: The CLI binary is NOT installed as a global command in this image. Always use node /app/openclaw.mjs inside the container:
Copy the generated URL, open it in a browser, and add the bot to your server
Pitfall — slash commands say "not authorized": If you invite the bot without applications.commands, slash commands will not work. Re-authorize using this URL (replace BOT_CLIENT_ID):
Pitfall — adding users later:config set guilds replaces the entire object. Always include ALL existing user IDs when adding new ones.
Show full SKILL.md (610 more words)Show less
Optional: Gmail Integration
Skip this section if you do not need Gmail. The rest of the setup works without it.
See references/gmail-setup.md for the complete guide (uses Himalaya — the only reliable option for attachment download).
The key insight: OAuth browser auth does NOT work inside Docker because the callback URL points to localhost inside the container, which the host browser cannot reach. The solution is to authenticate on the host Mac first, then copy tokens into the container.
Optional: Google Drive Integration
Skip this section if you do not need Google Drive. Google Drive uses gog (gogcli) — independent of the Gmail/Himalaya setup. You can set up Drive without setting up Gmail.
See references/google-drive-setup.md for the complete guide.
Short answer: Yes for initial setup. No for ongoing use.
Why initial setup requires your Mac
Three steps require direct Mac access (physical or SSH with port forwarding):
Step
Why Mac access is needed
Step 2: Claude setup token
claude setup-token opens a browser auth flow on localhost. Cannot be done remotely without a browser on the Mac. Skip if using a raw API key — that can be set from anywhere.
Step 4: Browser pairing
The OpenClaw dashboard runs at http://127.0.0.1:$HOST_PORT/ — only reachable from the Mac. You must open a browser there to pair.
Optional Gmail/Drive OAuth
Google OAuth callback points to localhost on the Mac. Must authenticate from a browser running on the Mac.
Remote setup is possible via SSH port forwarding
If you SSH into your Mac from another machine, you can forward the container port to your local browser:
bash
# From your remote machine — forward Mac's port 19002 to your local 19002
ssh -L 19002:localhost:19002 your-mac.local
# Then open http://127.0.0.1:19002/ in your local browser
This lets you complete the browser pairing step remotely.
After setup is complete
Once the container is running and paired, you do not need to be at your Mac. OpenClaw runs as a background service (--restart unless-stopped). You interact with it entirely through your configured channel (Discord, Telegram, etc.) — from your phone, any browser, anywhere.
Configuration
No persistent configuration required. All settings are chosen interactively in Step 0 and set as shell variables ($INSTANCE, $HOST_PORT).
Openclaw Docker Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Openclaw Docker Setup compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Openclaw Docker Setup this skillLeoYeAI/openclaw-master-skills
Configures automatic crash dumps or captures dumps from running processes for modern .NET apps on Linux, macOS and Windows, including Docker and Kubernetes.
How to run a FoundationDB cluster and connect to it from .NET — getting the IFdbDatabaseProvider that the keys/transactions/layers skills assume you already have.
One-time setup of the sandbox prerequisites used by the reproduce-issue skill and the reproduce-verifier agent — Docker, the isolation runtime (gVisor on Linux / Colima on macOS), healthy container…
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Install and configure a fully operational Dockerized OpenClaw instance on macOS from scratch. Openclaw Docker Setup is an agent skill from LeoYeAI/openclaw-master-skills. Install and configure a fully operational Dockerized OpenClaw instance on macOS from scratch.
When should I use Openclaw Docker Setup?
Openclaw Docker Setup fits situations like: user asks to install openclaw docker; set up dockerized openclaw; openclaw in docker; isolated openclaw instance.
How do I install Openclaw Docker Setup in Claude Code?
Run `npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-docker-setup -a claude-code`. Or copy the skill folder (skills/openclaw-docker-setup in LeoYeAI/openclaw-master-skills) into .claude/skills/openclaw-docker-setup in your project. Claude Code loads it when a task matches its description.
How do I install Openclaw Docker Setup in Codex?
Run `npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-docker-setup -a codex`. Or copy the skill folder (skills/openclaw-docker-setup in LeoYeAI/openclaw-master-skills) into .agents/skills/openclaw-docker-setup in your project. Codex loads it when a task matches its description.
Can I use Openclaw Docker Setup in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill openclaw-docker-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openclaw-docker-setup, .gemini/skills/openclaw-docker-setup, .github/skills/openclaw-docker-setup and .opencode/skills/openclaw-docker-setup in your project.
What does Openclaw Docker Setup need to run?
Going by SKILL.md and its folder, Openclaw Docker Setup needs the command-line tools its instructions call (docker, claude, node, python3, curl and ssh) and credentials named ANTHROPIC_API_KEY. Our summary lists: Python 3; Docker; A credential in ANTHROPIC_API_KEY; A credential in YOUR_DISCORD_BOT_TOKEN.
Does Openclaw Docker Setup access the network?
SKILL.md names 1 domain. As links in the text: discord.com. This is read from the text; nothing was executed.
Is Openclaw Docker Setup safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Openclaw Docker Setup use?
Openclaw Docker Setup is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Openclaw Docker Setup use?
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6k tokens, read only when the agent opens those files.
What are the alternatives to Openclaw Docker Setup?
Skills that share tags, products or a category with Openclaw Docker Setup: .NET Crash Dump Collection (dotnet/skills, 5.6k stars), Agentdock User Guide (uvwt/agentdock, 1.2k stars), Foundationdb Aspire (SnowBankSDK/foundationdb-dotnet-client, 158 stars) and Setup Review Sandbox (nrwl/nx, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Openclaw Docker Setup?
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,158 GitHub stars. The repository holds 1,215 skills in this directory. The repository was last updated on July 20, 2026.