全网最详细 Docker Compose 安装 ClawBot/OpenClaw

0.环境说明:

①配置要求:

CPU2CORE
RAM2GB
Disk10GB
操作系统LINUX_X86-64
端口开放18789/18790/80/443
NodeJS版本>22
Docker API≥ 1.44

②环境准备:

服务器要求:Linux 系统(推荐 Ubuntu/CentOS),检查符合①中的配置要求。

域名与证书:注册域名(如 bot.yourservices.com),可通过 Let’s Encrypt 或 ACME 客户端申请 SSL 证书,或者使用面板的一键申请功能。

下面将在debian12环境下安装:

1.安装ClawBot

①本地编译Docker版ClawBot

从Github将源代码克隆到本地

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

修改docker-compose.yml配置文件

cd openclaw
vi docker-compose.yml

修改配置:

services:
  openclaw-gateway:
    image: ${OPENCLAW_IMAGE:-openclaw:local}
    user: "0:0"#刚开始需要用root,否则会引起权限错误
    environment:
      HOME: /home/node
      TERM: xterm-256color
      OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
      CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
      CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
      CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
    volumes:
      - ./openclaw-data:/home/node/.openclaw #持久化目录,不修改的话会放到root下
      - ./openclaw-workspace:/home/node/.openclaw/workspace
    ports:
      - "${OPENCLAW_GATEWAY_PORT:-18789}:18789"
      - "${OPENCLAW_BRIDGE_PORT:-18790}:18790"
    init: true
    restart: unless-stopped
    deploy:
      resources:
        limits:                # 硬性限制(必须满足)
          cpus: "4"          # 最多使用0.5个CPU核心(如50%)
          memory: 4096M         # 最大内存256MB
        reservations:          # 软性预留(最低保障)
          cpus: "1"         # 至少分配0.1个CPU核心
          memory: 1024M         # 至少预留128MB内存
    command:
      [
        "node",
        "dist/index.js",
        "gateway",
        "--bind",
        "${OPENCLAW_GATEWAY_BIND:-lan}",
        "--port",
        "18789",
      ]

  openclaw-cli:
    image: ${OPENCLAW_IMAGE:-openclaw:local}
    user: "0:0"
    deploy:
      resources:
        limits:                # 硬性限制(必须满足)
          cpus: "2"          # 最多使用2个CPU核心(如50%)
          memory: 512M         # 最大内存512MB
    environment:
      HOME: /home/node
      TERM: xterm-256color
      OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
      BROWSER: echo
      CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
      CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
      CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
    volumes:
      - ./openclaw-data:/home/node/.openclaw
      - ./openclaw-workspace:/home/node/.openclaw/workspace
    stdin_open: true
    tty: true
    init: true
    entrypoint: ["node", "dist/index.js"]

开始安装:

cd clawdbot
./docker-setup.sh

然后,等待编译结束。

②配置 OpenClaw

通过键盘“←”“→”键依次选择:

◇ I understand this is powerful and inherently risky. Continue?

│ “Yes” 确认风险

◇ Onboarding mode

│ “QuickStart” 快速启动

◇ Model/auth provider

│ “Skip for now”跳过模型选择

◇ Filter models by provider

│ “All providers”(默认推荐)

◆ Default model
│ ● Keep current (default: anthropic/claude-opus-4-6)

◆ Select channel (QuickStart)

│ Skip for now (You can add channels later via openclaw channels add)

◇ Configure skills now? (recommended)
│ Yes
◇ Install missing skill dependencies
│ Skip for now
◆ Set GOOGLE_PLACES_API_KEY for goplaces?
│ ○ Yes / ● No
◆ Enable hooks?
│ ◻ Skip for now

配置完成后会显示:

docker compose -f /www/1panel/myapps/clawdbot/docker-compose.yml exec openclaw-gateway node dist/index.js health --token "your-token"

记住这里的”your-token

③修改访问方式:

由于openclaw的安全机制,安装好以后仅允许本地访问,若要外部访问,需要做如下配置:

修改配置文件openclaw-data/openclaw.json,修改gateway模块

"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"controlUi": {
"allowInsecureAuth":true,
"allowedOrigins": ["https://bot.yourservices.com"]
},

"trustedProxies": [
"172.16.0.0/12",
"192.168.0.0/16",
"10.0.0.0/8"
]
,
"auth": {
"mode": "token",
"token": "your-token"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
},
"nodes": {
"denyCommands": [
"camera.snap",
"camera.clip",
"screen.record",
"calendar.add",
"contacts.add",
"reminders.add"
]
}
},

配置NGINX反向代理:

将127.0.0.1:18789反代到https://bot.yourservices.com

nginx配置如下:

location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_ssl_server_name off;
}

如果是使用1PANEL,直接在反向代理里面配置到http://127.0.0.1:18789即可

然后申请SSL,并绑定站点。

④访问网站,最终授权:

现在浏览器访问:https://bot.yourservices.com/#token=your-token

应该会显示”need pairs”等字样

这时需要openclaw-gateway对设备登录进行授权:

docker ps #查看当前运行的容器,假设这里容器名称是:openclaw-gateway
docker exec -it openclaw-gateway bash #进入容器
node dist/index.js devices list --token "your-token" #注意显式输入token

继续输入:

node dist/index.js devices approve yourid --token "your-token"

注意“yourid”即为Device列的ID

再次输入

node dist/index.js devices list --token "your-token" #注意显式输入token

此时应该能够正常显示IP栏

刷新页面,你的机器人应该已经可以正常连接了😊

2.快速创建并使用多 Agent

①在openclaw.json中添加所有模型,修改models字段:

{
"models": {
"providers": {
"ollama": {
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "no-key-required",
"api": "openai-completions",
"models": [
{
"id": "gemma3:4b",
"name": "Gemma3 4B",
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0 }
},
{
"id": "qwen2.5-coder:1.5b",
"name": "Qwen Coder 1.5B",
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0 }
},
{
"id": "deepseek-r1:1.5b",
"name": "DeepSeek R1 1.5B",
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0 }
},
{
"id": "llama3.2:latest",
"name": "Llama 3.2 (latest)",
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0 }
}
]
},
// ... 其他提供商(如 openai)保持不变
}
},
// ... 其他配置保持不变
}

修改angets字段

  "agents": {
"defaults": {
"model": {
"primary": "ollama/gemma3:4b"
},
"workspace": "/home/node/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},

重启容器

docker-compose restart

②验证模型是否加载成功:

docker-compose run --rm openclaw-cli models list

③cli方式激活模型

创建 4 个专用 Agent

# 创建 gemma3 助手
docker-compose run --rm openclaw-cli agents add gemma \
--model ollama/gemma3:4b \
--workspace /home/node/.openclaw/workspace/gemma

# 创建 coder 助手
docker-compose run --rm openclaw-cli agents add coder \
--model ollama/qwen2.5-coder:1.5b \
--workspace /home/node/.openclaw/workspace/coder

# 创建 deepseek 助手
docker-compose run --rm openclaw-cli agents add deepseek \
--model ollama/deepseek-r1:1.5b \
--workspace /home/node/.openclaw/workspace/deepseek

# 创建 llama 助手
docker-compose run --rm openclaw-cli agents add llama \
--model ollama/llama3.2:latest \
--workspace /home/node/.openclaw/workspace/llama

# 创建 第三方GPT 助手
docker-compose run --rm openclaw-cli agents add gpt3.5t \
--model openai/gpt-3.5-turbo \
--workspace /home/node/.openclaw/workspace/gpt3.5t

④在 Web 界面中切换使用

  • 访问 OpenClaw Web 界面(https://yourip/?token=your-token)。
  • 输入 /models 查看所有可用模型。
  • 输入 /model ollama/deepseek-r1:1.5b 直接切换当前会话模型。
  • 或者使用 /agent coder 切换到专用 Agent。

发表回复

Your email address will not be published.