[ Content contribution] Debian 13容器方式安装OpenClaw的详细步骤
Tofloor
poster avatar
remyxo
deepin
2026-03-13 08:47
Author
自己安装时记录的笔记,安装环境为Debian 13.3,docker版本29.3.0,openclaw版本2026.3.8(当前最新)。
 
1、创建存放docker compose配置文件的目录,我放在~/docker-compose下面:
mkdir -p ~/docker-compose/openclaw
cd ~/docker-compose/openclaw   # 后续所有docker compose命令都要在docker-compose.yml所在目录执行。
 
2、下载配置文件
wget https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml
wget https://raw.githubusercontent.com/openclaw/openclaw/main/.env.example
 
3、复制.env.example为.env
cp .env.example.yml .env
 
4、修改配置.env文件:
OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest
OPENCLAW_CONFIG_DIR=~/.openclaw
OPENCLAW_WORKSPACE_DIR=~/.openclaw/workspace
OPENCLAW_GATEWAY_TOKEN=very-long-hex-string      # 运行openssl rand -hex 32 来获得随机串
 
5、修改docker-compose.yml文件,增加dns配置【遇到的坑!避免安装插件时失败】
    # 与volume, ports对齐
    dns:
      - 114.114.114.114  # 国内通用DNS
      - 223.5.5.5        # 阿里DNS
      
6、创建好映射的目录,workspace也要提前创建好,否则属主默认是root,openclaw无法写入!
mkdir -p ~/.openclaw/workspace   # 确保owner是$USER
 
7、进入 OpenClaw 的交互式安装向导。我们通过附加 --env-file .env 来确保容器能读到刚才配置的变量
docker compose --env-file .env run --rm openclaw-cli onboard
 
# 配置模型和API KEY:(以DeepSeek为例)
Provider选择Custom (OpenAI Compatible)。
API Key:【填入你在 DeepSeek 开放平台 创建的 API Key。】
Base URL:填入 https://api.deepseek.com/v1
Model ID:deepseek-chat,或者 deepseek-reasoner
其他配置:skip now。
 
如果出现模型verification failed,大概率是网管的bind模式不对(可能是bind=lan变量没有传进容器):
修改~/.openclaw/openclaw.json,找到"bind": "loopback", 修改为:"bind": "lan"
docker-compose down   # 删除容器
docker compose --env-file .env run --rm openclaw-cli onboard # 再次启动安装向导。
 
8、启动 Gateway 网关服务
docker compose --env-file .env up -d openclaw-gateway
 
此时http://127.0.0.1:18789应该可以访问了。如果http://127.0.0.1:18789无法访问,可能是bind变量没有传进容器:
修改~/.openclaw/openclaw.json,找到"bind": "loopback", 修改为:"bind": "lan"
重启网关服务:
docker-compose exec openclaw-gateway /bin/bash # 进入容器,后面openclaw开头的命令均在容器里执行。
openclaw gateway restart
 
9、访问控制面板:打开浏览器,访问 http://127.0.0.1:18789/
概览那里输入Token;
提示设备需要Pair(配对):
docker-compose exec openclaw-gateway /bin/bash    # 进入容器
openclaw devices list  # 有一个Pending的device,记住左侧RequestID:xxxx-xxxx
openclaw devices approve xxxx-xxxx
openclaw devices list  # 设备已经是Paired状态了。
 
10、修改配置
docker-compose exec openclaw-gateway /bin/bash
openclaw configure
openclaw gateway restart
 
11、添加聊天渠道:
docker compose run --rm openclaw-cli channels xxx 来给应用增加 Slack,Discord 或 Telegram 的聊天渠道接入。
也可通过openclaw configure向导来设置。
 
12、添加QQ渠道(官方提供):
OpenClaw原生接入流程:
1.安装OpenClaw开源社区QQBot插件
openclaw plugins install @sliverp/qqbot@latest     # 坑!如果没有配置dns,无法解析域名,会失败
2.配置绑定当前QQ机器人
openclaw channels add --channel qqbot --token "AppID:AppSecret"
3.重启本地OpenClaw服务
openclaw gateway restart
 
Reply Favorite View the author
All Replies
raspbian
deepin
2026-03-13 09:53
#1

你确定这不是AI通过幻觉写出来的教程?

Reply View the author
remyxo
deepin
2026-03-13 10:49
#2
raspbian

你确定这不是AI通过幻觉写出来的教程?

一字一句自己码出来的,如假包换。

Reply View the author
LiuYongzhang
deepin
2026-03-21 08:27
#3
remyxo

一字一句自己码出来的,如假包换。

我能证明这就是自己写的

下面这才是Ai写的

一、OpenClaw 安装部署完整教程(Debian 13.3 + Docker 29.3.0)

你记录的笔记核心流程正确,我帮你梳理成更清晰、避坑的完整步骤,并修正笔记中少量笔误 / 易踩坑点:

前置条件确认

# 确认Docker和Docker Compose已安装(Debian 13.3默认可能需要手动装)
docker --version  # 需显示29.3.0+
docker compose version  # 确保是v2+版本(v1已废弃)

步骤 1:创建并进入配置目录

# 创建目录(层级更清晰,避免路径问题)
mkdir -p ~/docker-compose/openclaw
cd ~/docker-compose/openclaw  # 后续所有compose命令必须在此执行

步骤 2:下载配置文件

# 下载官方配置文件(如果wget失败,可换curl或手动复制内容)
wget https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml
wget https://raw.githubusercontent.com/openclaw/openclaw/main/.env.example

# 备用方案(国内访问GitHub失败时):
# curl -o docker-compose.yml https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml
# curl -o .env.example https://raw.githubusercontent.com/openclaw/openclaw/main/.env.example

步骤 3:复制并修改环境变量文件

# 笔记笔误修正:原命令是cp .env.example.yml .env(错误),正确如下
cp .env.example .env

# 生成随机Token(关键:用于网关认证)
TOKEN=$(openssl rand -hex 32)
# 编辑.env文件(用nano更友好)
nano .env

在.env 中修改以下内容(其他默认即可):

ini

OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest
OPENCLAW_CONFIG_DIR=~/.openclaw
OPENCLAW_WORKSPACE_DIR=~/.openclaw/workspace
OPENCLAW_GATEWAY_TOKEN=${TOKEN}  # 直接填入上面生成的随机串,或手动写

保存退出:Ctrl+O → 回车 → Ctrl+X

步骤 4:修改 docker-compose.yml(添加 DNS,避坑核心)

nano docker-compose.yml

找到 services.openclaw-gatewayopenclaw-cli的配置块,在 volumes/ports同级添加 DNS 配置(国内必须加,否则插件安装 / 模型验证失败):

yaml

services:
  openclaw-gateway:
    image: ${OPENCLAW_IMAGE}
    volumes:
      - ${OPENCLAW_CONFIG_DIR}:/root/.openclaw
      - ${OPENCLAW_WORKSPACE_DIR}:/root/.openclaw/workspace
    ports:
      - "18789:18789"
    dns:  # 新增DNS配置(与volumes/ports对齐)
      - 114.114.114.114
      - 223.5.5.5
    command: ["gateway", "start"]

  openclaw-cli:
    image: ${OPENCLAW_IMAGE}
    volumes:
      - ${OPENCLAW_CONFIG_DIR}:/root/.openclaw
      - ${OPENCLAW_WORKSPACE_DIR}:/root/.openclaw/workspace
    dns:  # CLI也加DNS,避免插件安装失败
      - 114.114.114.114
      - 223.5.5.5
    stdin_open: true
    tty: true

步骤 5:创建映射目录(避免权限问题)

# 提前创建目录,并确保属主是当前用户(不是root)
mkdir -p ~/.openclaw/workspace
chown -R $USER:$USER ~/.openclaw  # 关键:避免容器内无法写入

步骤 6:交互式安装向导(配置模型 / API)

# 启动安装向导(必须带--env-file,否则变量不生效)
docker compose --env-file .env run --rm openclaw-cli onboard

向导内配置(以 DeepSeek 为例)

  1. Provider 选择:Custom (OpenAI Compatible)
  2. API Key:填入 DeepSeek 开放平台的 API Key
  3. Base URL:https://api.deepseek.com/v1
  4. Model ID:deepseek-chatdeepseek-reasoner
  5. 其他配置选 skip now

若出现「模型 verification failed」

# 修改bind模式(默认loopback仅本地访问,lan允许局域网)
nano ~/.openclaw/openclaw.json
# 找到 "bind": "loopback" → 修改为 "bind": "lan"
# 重启向导
docker compose down  # 清理旧容器
docker compose --env-file .env run --rm openclaw-cli onboard

步骤 7:启动网关服务

docker compose --env-file .env up -d openclaw-gateway  # 后台启动

# 验证服务是否启动
docker compose ps  # 查看openclaw-gateway状态为Up

若 127.0.0.1:18789 无法访问

# 再次检查bind配置
nano ~/.openclaw/openclaw.json  # 确保"bind": "lan"
# 进入容器重启网关
docker compose exec openclaw-gateway bash
openclaw gateway restart
exit  # 退出容器

步骤 8:设备配对(访问控制面板)

  1. 浏览器打开:http://127.0.0.1:18789/
  2. 概览页输入.env 中配置的 OPENCLAW_GATEWAY_TOKEN
  3. 处理设备配对:
# 进入容器
docker compose exec openclaw-gateway bash
# 查看待配对设备
openclaw devices list  # 找到Pending状态的设备,记录RequestID(如xxxx-xxxx-xxxx)
# 批准配对
openclaw devices approve xxxx-xxxx-xxxx
# 验证配对状态(应为Paired)
openclaw devices list
exit

步骤 9:自定义配置(可选)

docker compose exec openclaw-gateway bash
openclaw configure  # 按需修改模型、端口、日志等配置
openclaw gateway restart  # 重启生效
exit

步骤 10:添加聊天渠道

通用渠道(Slack/Discord/Telegram)
# 方式1:CLI命令
docker compose run --rm openclaw-cli channels add --channel 渠道名 --token "认证信息"
# 方式2:交互式配置
docker compose run --rm openclaw-cli configure
QQ 渠道(官方插件)
# 1. 进入容器(必须在容器内执行插件安装)
docker compose exec openclaw-gateway bash
# 2. 安装QQBot插件(DNS已配置,避免解析失败)
openclaw plugins install @sliverp/qqbot@latest
# 3. 添加QQ渠道(替换为自己的AppID和AppSecret)
openclaw channels add --channel qqbot --token "你的AppID:你的AppSecret"
# 4. 重启网关
openclaw gateway restart
exit

二、关键避坑点补充

  1. DNS 配置是核心:国内环境必须给 docker-compose.yml 中的每个服务添加 DNS,否则插件安装、模型验证、域名解析都会失败;
  2. 目录权限:提前创建 ~/.openclaw并设置属主为当前用户,否则容器内会以 root 创建目录,导致写入权限不足;
  3. bind 模式:默认 loopback仅允许容器内访问,修改为 lan才能通过宿主机 IP 访问 18789 端口;
  4. env 文件笔误:原笔记中 cp .env.example.yml .env是错误的,正确是 cp .env.example .env(无.yml 后缀);
  5. Token 生成:必须用 openssl rand -hex 32生成足够长的随机串,避免弱口令。

三、常用运维命令

# 查看日志(排障用)
docker compose logs -f openclaw-gateway
# 停止服务
docker compose down
# 重启服务
docker compose --env-file .env restart openclaw-gateway
# 更新OpenClaw版本
docker compose pull openclaw-gateway
docker compose --env-file .env up -d openclaw-gateway

总结

  1. 核心流程:创建目录→下载配置→修改.env 和 docker-compose.yml(加 DNS)→创建映射目录→安装向导→启动网关→设备配对→添加渠道;
  2. 关键避坑:DNS 配置、目录权限、bind 模式修改、env 文件无.yml 后缀;
  3. 排障优先:查看容器日志(docker compose logs)、检查端口映射、确认 Token 和 bind 配置。
Reply View the author