乐于分享
好东西不私藏

使用Docker从源码编译安装OpenClaw并配置Github Skill

使用Docker从源码编译安装OpenClaw并配置Github Skill

看了一圈 Docker 安装 OpenClaw 的文章

好像都是默认设置

正好搞了连接 Github 账号就记录一下

主机信息

系统: Debian GNU/Linux 13 (trixie)

OpenClaw 代码目录: /data/openclaw/src

OpenClaw 数据目录: /data/openclaw/data

模型提供商: Deepseek

目标

  • Docker 安装 OpenClaw

  • 更改数据保存位置

  • 通过 PAT 连接 Github 账号

安装 OpenClaw

下载 OpenClaw 代码库

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

切换到最新发行版

在 Github Release 页面查看最新发行版

git checkout v2026.2.26

创建 .env 环境变量

# 自定义数据目录,按照实际情况修改OPENCLAW_CONFIG_DIR=/data/openclaw/data# 自定义工作空间,按照实际情况修改OPENCLAW_WORKSPACE_DIR=/data/openclaw/data/workspaceOPENCLAW_GATEWAY_PORT=18789OPENCLAW_BRIDGE_PORT=18790OPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_TOKEN=<随机生成的64位hex>OPENCLAW_IMAGE=openclaw:local# 持久化 gh 配置文件OPENCLAW_EXTRA_MOUNTS=/data/openclaw/data/.config/gh:/home/node/.config/ghOPENCLAW_HOME_VOLUME=OPENCLAW_DOCKER_APT_PACKAGES=

生成随机 Hex Token

# 三选一openssl rand -hex 32head -c 32 /dev/urandom | xxd -pod -An -N32 -tx1 /dev/urandom | tr -d ' \n'

构建 OpenClaw 镜像

docker build -t openclaw:local -f Dockerfile .

启动 OpenClaw 并进入设置向导

docker compose run --rm openclaw-cli onboard

设置向导完成后,在 Control UI 和 Dashboard ready 部分会显示网页控制台的 URL 与 Token

◇  Dashboard ready ────────────────────────────────────────────────────────────────╮│                                                                                  ││  Dashboard link (with token):                                                    ││  http://127.0.0.1:18789/#token=c01dbeef0000000000000000000000000000000000000000  ││  Copy/paste this URL in a browser on this machine to control OpenClaw.           ││  No GUI detected. Open from your computer:                                       ││  ssh -N -L 18789:127.0.0.1:18789 user@<host>                                     ││  Then open:                                                                      ││  http://localhost:18789/                                                         ││  http://localhost:18789/#token=c01dbeef0000000000000000000000000000000000000000  ││  Docs:                                                                           ││  https://docs.openclaw.ai/gateway/remote                                         ││  https://docs.openclaw.ai/web/control-ui                                         ││                                                                                  │├──────────────────────────────────────────────────────────────────────────────────╯

修改 openclaw.json

编辑 $OPENCLAW_CONFIG_DIR/openclaw.json, 在先前的设定中为 /data/openclaw/data/openclaw.json

在 gateway 中添加以下内容

"controlUi": {  "allowedOrigins": [    "http://127.0.0.1:18789"  ]},

启动 OpenClaw Gateway

docker compose up -d openclaw-gateway

建立 SSH 端口映射隧道

根据 OpenClaw 的默认安全设置,Control UI 只能从本地 127.0.0.1 访问

ssh -N -L 18789:127.0.0.1:18789 <用户名>@<主机 IP 地址>

访问 Control UI

访问先前获取的带 token 参数的 URL

如果一切正常,网页会显示 pairing required

安装 clawdock-helpers

clawdock-helpers 是一个用于快速管理 Docker 容器中 OpenClaw 实例的工具

安装 clawdock-helpers

# 下载 clawdock-helpersmkdir -p ~/.clawdock && curl -sL https://raw.githubusercontent.com/openclaw/openclaw/main/scripts/shell-helpers/clawdock-helpers.sh -o ~/.clawdock/clawdock-helpers.sh# 添加至环境变量echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.bashrc && source ~/.bashrc# 显示 clawdock 帮助clawdock-help

设置 clawdock-helpers 环境变量

在 ~/.bashrc 添加指向 OpenClaw 源代码目录的环境变量 CLAWDOCK_DIR

export CLAWDOCK_DIR=/data/openclaw/src

设备认证

安装 clawdock-helpers 后即可使用该工具进行设备认证

# 列出所有设备clawdock-devices

处理 Token 错误

如果出现如下错误:

🔍 Checking device pairings...gateway connect failed: Error: unauthorized: gateway token mismatch (set gateway.remote.token to match gateway.auth.token)[openclaw] CLI failed: Error: gateway closed (1008): unauthorized: gateway token mismatch (set gateway.remote.token to match gateway.auth.token)

运行以下命令修复 Token

clawdock-fix-token

批准配对请求

如果一切正常,则会输出类似内容

🔍 Checking device pairings...Pending (1)┌──────────────────────────────────────┬────────────────────────────────────┬──────────┬────────────┬────────┬────────┐ Request                               Device                              Role      IP          Age     Flags  ├──────────────────────────────────────┼────────────────────────────────────┼──────────┼────────────┼────────┼────────┤ 71949123-52ef-417a-806f-a5c62501d321  21f82c8f9434af86fa525cc9fe7c955541  operator  172.21.0.1  1m ago                                                72e0d06235f042992f0cffebfb7c3d                                           └──────────────────────────────────────┴────────────────────────────────────┴──────────┴────────────┴────────┴────────┘Paired (1)┌─────────────────────────────┬────────────┬────────────────────────────────────────────────┬────────────┬────────────┐ Device                       Roles       Scopes                                          Tokens      IP         ├─────────────────────────────┼────────────┼────────────────────────────────────────────────┼────────────┼────────────┤ f2f1d2d9b6155bf93693f19a631  operator    operator.admin, operator.read, operator.        operator                d5a211adf982a640a360f3b534d              write, operator.approvals, operator.pairing                             bdb3764a39                                                                                                      └─────────────────────────────┴────────────┴────────────────────────────────────────────────┴────────────┴────────────┘💡 To approve a pairing request:   clawdock-approve <request-id>

使用 clawdock-approve 命令批准设备配对请求

clawdock-approve <Pending表格显示的request-id>

由于刷新了 Token,需要使用 clawdock-token 命令查看新的 Token

再次访问 http://127.0.0.1:18789/#token=<Token> 应用新 Token

配置 gh

在镜像中安装 gh

编辑 Dockerfile,在 COPY –chown=node:node package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./ 前添加以下内容:

RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \    | gpg --dearmor -/usr/share/keyrings/githubcli-archive-keyring.gpg && \  echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \    > /etc/apt/sources.list.d/github-cli.list && \  apt-get update && \  DEBIAN_FRONTEND=noninteractive apt-get install ---no-install-recommends gh && \  apt-get clean && \  rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*

配置 GH_TOKEN

修改 docker-compose.yml,在 service.openclaw-gateway.environment 中添加一条 GH_TOKEN

修改后的 docker-compose.yml 大致如下

services:  openclaw-gateway:    image: ${OPENCLAW_IMAGE:-openclaw:local}    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}      GH_TOKEN${SKILL_GH_TOKEN}

在 .env 中添加 Github Personal Access Token

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 使用Docker从源码编译安装OpenClaw并配置Github Skill

评论 抢沙发

6 + 3 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮