Search

PythonReactSEOPDF
OpenClaw

openclaw-docker-setup

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".

chunhualiao0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install chunhualiao/openclaw-docker-setup

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

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)
  • Dashboard accessible at http://127.0.0.1:YOUR_PORT/
  • Discord channel configured and responding
  • (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.

# 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"  I...

Source information

Source
github
Repository
openclaw/skills
Path
skills/chunhualiao/openclaw-docker-setup
Version
—
Commit
4e3f7ba43964c00db9b45f40196ea2a11f022133
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README

OpenClaw Docker Setup

Install a fully isolated, production-ready OpenClaw instance inside Docker on macOS — from zero to running in one session.

What This Skill Does

Guides you through installing and configuring a Dockerized OpenClaw instance, including:

  • Pulling the official image from GHCR
  • Launching a named, isolated container with proper security settings
  • Pairing your browser to the dashboard
  • Configuring a Discord channel
  • (Optional) Gmail via Himalaya — with full attachment support
  • (Optional) Google Drive, Docs, Sheets, Calendar via gog

Supports multiple instances on the same machine. The skill auto-detects existing containers and suggests the next free name and port.

Requirements

  • macOS (Intel or Apple Silicon)
  • Docker Desktop installed and running
  • Claude Code CLI (if using Claude Max/Pro subscription)

Installation

Copy this skill to your OpenClaw shared skills directory:

gh repo clone chunhualiao/openclaw-skill-docker-setup ~/.openclaw/skills/openclaw-docker-setup

Or install via ClawhHub:

clawhub install openclaw-docker-setup

Usage

Once installed, trigger the skill by saying to your OpenClaw agent:

  • "Install OpenClaw in Docker"
  • "Set up a dockerized OpenClaw instance"
  • "I want to run OpenClaw isolated in Docker"

The agent will walk you through the full setup interactively.

References

Why Docker?

Running OpenClaw in Docker provides:

  • Isolation — separate config, credentials, and data from your host
  • Multiple instances — run a personal instance, a demo instance, and a work instance simultaneously
  • Security — --cap-drop=ALL limits container privileges
  • **Portabil...

Extracted content

SKILL.md
# 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)
- Dashboard accessible at http://127.0.0.1:YOUR_PORT/
- Discord channel configured and responding
- (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"  I...
README
# OpenClaw Docker Setup

Install a fully isolated, production-ready [OpenClaw](https://openclaw.ai) instance inside Docker on macOS — from zero to running in one session.

## What This Skill Does

Guides you through installing and configuring a Dockerized OpenClaw instance, including:

- Pulling the official image from GHCR
- Launching a named, isolated container with proper security settings
- Pairing your browser to the dashboard
- Configuring a Discord channel
- (Optional) Gmail via Himalaya — with full attachment support
- (Optional) Google Drive, Docs, Sheets, Calendar via gog

**Supports multiple instances on the same machine.** The skill auto-detects existing containers and suggests the next free name and port.

## Requirements

- macOS (Intel or Apple Silicon)
- Docker Desktop installed and running
- Claude Code CLI (if using Claude Max/Pro subscription)

## Installation

Copy this skill to your OpenClaw shared skills directory:

```bash
gh repo clone chunhualiao/openclaw-skill-docker-setup ~/.openclaw/skills/openclaw-docker-setup
```

Or install via ClawhHub:

```bash
clawhub install openclaw-docker-setup
```

## Usage

Once installed, trigger the skill by saying to your OpenClaw agent:

- "Install OpenClaw in Docker"
- "Set up a dockerized OpenClaw instance"
- "I want to run OpenClaw isolated in Docker"

The agent will walk you through the full setup interactively.

## References

- [Pitfalls and Solutions](references/pitfalls.md) — 14+ real-world issues documented with fixes
- [Gmail Setup via Himalaya](references/gmail-setup.md) — email with attachment support
- [Google Drive Setup via gog](references/google-drive-setup.md) — Drive, Docs, Sheets, Calendar

## Why Docker?

Running OpenClaw in Docker provides:
- **Isolation** — separate config, credentials, and data from your host
- **Multiple instances** — run a personal instance, a demo instance, and a work instance simultaneously
- **Security** — `--cap-drop=ALL` limits container privileges
- **Portabil...

Related skills

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

dojo.md

edholofy

University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

sixtyfour-skill

rxhxm

Agent Skill (SKILL.md) for Sixtyfour AI — People & company intelligence API. Enrich leads, find emails/phones, qualify prospects, search people. For Claude Code, Codex, OpenClaw, Cursor.