[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题

Deploy

Clone Repo

Github Openclaw Repo: https://github.com/openclaw/openclaw.git

shell 复制代码
git clone https://github.com/openclaw/openclaw.git

修改Setup.sh脚本

如果不修改脚本, 会出现openclaw Permission Denied的情况.

详细参考 Debug 章节的 ## 无法配对机器人的内容

主要是要进行 chown -R 1000:1000 "$OPENCLAW_CONFIG_DIR" 的操作

Deploy With Sh Script

使用脚本./docker-setup.sh

该脚本会自动完成:

  1. 构建 Docker 镜像(IMAGE_NAME="${OPENCLAW_IMAGE:-openclaw:local}")
  2. 运行交互式 onboarding 向导
  3. 生成 Gateway Token 并写入 .env
  4. 启动网关服务
shell 复制代码
./docker-setup.sh

如果你好奇官方脚本做了什么, 可以点击查看一下内容:
docker-compose.yaml文件做了什么

docker-compose.yml 定义了两个服务:

openclaw-gateway (网关服务)

  • 端口: 18789 (网关), 18790 (桥接)
  • 绑定: 默认 lan (局域网可访问)
  • 重启策略: unless-stopped
  • 持久化: 配置目录和工作空间挂载到主机

openclaw-cli (CLI 服务)

  • 交互式终端 (tty: true, stdin_open: true)
  • 用于执行命令、配置通道、运行 onboarding

Check Docker Image

整个Image大小: 4.+GB

Setup

开始Setup ClawBot

Basic

接受风险, 选择快速开始模式

Choose Model

我使用的是: GLM4.7模型

感觉Lite的额度都基本够一些使用了, 我平时额度用不完, 还可以继续压榨

配置API Key

选择模型

Choose Bot API

不得不喷一下国内那些App对于Bot的适配还需要开源人自己适配, 垃圾

参考下面的# 接入Bot章节的内容接入Bot的API

Other

一些常见选项

完成Onboard配置

Web Dashboard配置

我中途不小心kill了Docker, 我使用docker compose up -d openclaw-gateway指令恢复

配置都存放在~/.openclaw/, 所以没事
检查Token(这一步不需要, URL中携带了Token)

使用cat ~/.openclaw/openclaw.json | grep token找到你需要在Web上配置的Token

修改配置文件: vim ~/.openclaw/openclaw.json

添加:

复制代码
    "controlUi": {
      "enabled": true,
      "allowInsecureAuth": true
    },

修改完之后不需要重启服务, 就可以连接成功

接入Bot

TG Bot

使用 BotFather 创建Bot

文档: https://core.telegram.org/bots

复制代码
/newbot - create a new bot

使用 \newbot 指令

复制代码
Alright, a new bot. How are we going to call it? Please choose a name for your bot.

然后会提出输入Bot的名字.

Bot名字规范: Good. Now let's choose a username for your bot. It must end in bot. Like this, for example: TetrisBot or tetris_bot.

输入了预期的Bot名字之后, 会给你Bot的认证Token

添加:

Setup ClawBot

配置Token

Pair TG Bot

复制代码
openclaw pairing approve telegram <code>

需要在容器内部执行, 这里存在一个坑

我使用 docker compose up openclaw-cli pairing approve telegram <Code> 指令解决了问题

Debug

TG Bot无法回复

被墙了

ClawBot吃Env配置代理, 但是在容器中, 我一直没有配起来

yaml 复制代码
  openclaw-gateway:
    image: ${OPENCLAW_IMAGE:-openclaw:local}
    network_mode: "host"
    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}
      # 代理配置:现在可以直接用 127.0.0.1 了
      http_proxy: http://127.0.0.1:20171
      https_proxy: http://127.0.0.1:20171
      all_proxy: socks5h://127.0.0.1:20170
      HTTP_PROXY: http://127.0.0.1:20171
      HTTPS_PROXY: http://127.0.0.1:20171
      ALL_PROXY: socks5h://127.0.0.1:20170
      no_proxy: localhost,127.0.0.1
      NO_PROXY: localhost,127.0.0.1

无法配对机器人

参考: https://openclaw-ai.org/guides/fix-openclaw-docker-eacces-permission-denied

容器内的 node 用户(UID 1000)没有权限读写宿主机挂载进去的文件夹(通常是因为宿主机文件夹属于 root 或其他用户).

出现了 openclaw: Permission denied

fast way:

chown -R 1000:1000 "$HOME/.openclaw"

or add in docker-setup.sh:

after lines:

mkdir -p "$OPENCLAW_CONFIG_DIR"

mkdir -p "$OPENCLAW_WORKSPACE_DIR"

chown -R 1000:1000 "$OPENCLAW_CONFIG_DIR"

复制代码
diff --git a/docker-setup.sh b/docker-setup.sh
index 89b8346a3..089a52b4e 100755
--- a/docker-setup.sh
+++ b/docker-setup.sh
@@ -27,6 +27,8 @@ OPENCLAW_WORKSPACE_DIR="${OPENCLAW_WORKSPACE_DIR:-$HOME/.openclaw/workspace}"
 mkdir -p "$OPENCLAW_CONFIG_DIR"
 mkdir -p "$OPENCLAW_WORKSPACE_DIR"

+chown -R 1000:1000 "$OPENCLAW_CONFIG_DIR"
+
 export OPENCLAW_CONFIG_DIR
 export OPENCLAW_WORKSPACE_DIR
 export OPENCLAW_GATEWAY_PORT="${OPENCLAW_GATEWAY_PORT:-18789}"

参考

知乎 Docker部署Openclaw: https://zhuanlan.zhihu.com/p/2002144306304140149

Github ClawBot安装指南: https://github.com/xianyu110/clawbot

相关推荐
sunny8653 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
蝎子莱莱爱打怪3 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
GPUStack4 小时前
Token 不再焦虑:用 GPUStack + OpenClaw 搭一个“无限用”的本地 AI 助手
ai·模型推理·gpustack·openclaw
ZengLiangYi8 小时前
Git Tag + Semver + CI/CD:从打标签到自动发布的完整实践
github
徐小夕9 小时前
JitWord Office预览引擎:如何用Vue3+Node.js打造丝滑的PDF/Excel/PPT嵌入方案
前端·vue.js·github
程序员鱼皮9 小时前
离大谱,我竟然在 VS Code 里做了个视频!
github·aigc·ai编程
chlk12310 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑10 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件11 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux