前言

本文档用于规范“龙虾”系统在各环境(开发、测试、生产)中的部署流程与操作步骤,确保系统能够按照统一标准进行安装、配置与运行。

“龙虾”系统涉及多组件协同运行,部署过程中包含基础运行环境准备、依赖服务安装、配置文件调整、容器/进程启动以及运行状态检查等关键环节。为降低人为操作差异带来的风险,提高部署效率与可重复性,特编写本手册作为标准化执行依据。

本文档主要面向运维人员、开发人员及系统交付人员,适用于新环境初始化部署、版本升级部署及故障恢复场景。所有操作步骤均以可执行、可验证为原则编写,确保部署过程具备一致性与可追溯性。

在实际部署过程中,应结合具体环境资源配置(如 CPU、内存、存储及网络策略)进行适当调整,并严格遵循变更流程执行,避免对现网业务造成影响。

一、基础环境配置

1、自用配置

目前我是用一台服务器安装openclaw,vllm部署的离线qwen80b模型在另外一台A100服务器上

服务器版本ubuntu25.10
docker版本28.5.1
docker compose版本2.4.1

2、推荐硬件配置

为保证“龙虾”系统稳定运行,建议按照以下最低及推荐配置准备服务器资源:

1). 生产环境(推荐配置)
  • CPU:16 核及以上(建议 x86_64 架构)

  • 内存:32 GB 及以上

  • 存储:SSD 500 GB 及以上(根据数据量可扩展)

  • 网络:千兆网卡及以上,稳定内网环境

  • 操作系统:CentOS 7.9 / Ubuntu 20.04 LTS 及以上(推荐 LTS 版本)

2). 测试环境(最低可用)
  • CPU:8 核

  • 内存:16 GB

  • 存储:SSD 200 GB

  • 网络:百兆或千兆均可

注:若涉及模型服务 / 大数据处理 / 多实例部署,建议按生产环境规格上浮 30%~50%。

3、推荐软件配置

1. Docker 版本要求
  • Docker Engine20.10.0 及以上(推荐 24.x LTS 或更新稳定版)

2. Docker Compose 版本要求
版本要求:v2.0.0 及以上

(具体安装方法可以查看我之前docker以及compose安装的博客)

二、docker镜像准备

##下面是源镜像
docker pull ghcr.io/openclaw/openclaw:latest
##下面是国内镜像  
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openclaw/openclaw:latest
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openclaw/openclaw   latest                                        3b898c03f210   2 weeks ago     3.02GB

三、准备 OpenClaw 配置目录

mkdir -pv /data/openclaw-docker

# 创建配置目录
mkdir -pv /data/openclaw-docker/.openclaw

# 创建工作空间目录
mkdir -pv  /data/openclaw-docker/openclaw-workspace

# 确保目录权限正确
chown -R 1000:1000 /data/openclaw-docker/.openclaw
chown -R 1000:1000 /data/openclaw-docker/openclaw-workspace
chmod -R 755 /data/openclaw-docker/.openclaw
chmod -R 755 /data/openclaw-docker/openclaw-workspace

四、编写docker-compose 文件

生产环境建议用 docker-compose.yml 管理,比裸 docker run 更容易维护:

vim openclaw.yml
version: "3.8"

services:
  openclaw-gateway:
    image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openclaw/openclaw
    container_name: openclaw-gateway
    restart: unless-stopped
    ports:
      - "18789:18789"
    volumes:
      - /data/openclaw-docker/.openclaw:/home/node/.openclaw
      - /data/openclaw-docker/openclaw-workspace:/home/node/workspace
    environment:
      -NODE_ENV: production
    user: "1000:1000"
    healthcheck:
      test: ["CMD","curl","-f","http://localhost:18789/healthz"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 15s
    deploy:
      resources:
        limits:
          memory: 2G
          cpus: "2.0"
        reservations:
          memory: 512M
          cpus: "0.5"
    logging:
      driver: json-file
      options:
        max-size: "50m"
        max-file: "5"

五、启动compose文件

docker compose -f openclaw.yml up -d

但是注意:现在你用远程机器去访问ip+18789端口是访问不到的

这边是有坑的    可以看到是容器内部的回环地址  

哪怕容器是映射了port出来

解决办法:

打开openclaw.json文件

vim .openclaw/openclaw.json

#root@jxsj:/data/openclaw-docker# vim .openclaw/openclaw.json
#得看好目录位置

可以看到初始化json文件是这样的  我们加个bind

{
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "gateway": {
    "bind": "lan",     #通过局域网通信
    "auth": {
      "mode": "token",
      "token": "1f69e7df8ab925f6ad563fa90c341ed6b7ee6374fe902771"
    }
  },
  "meta": {
    "lastTouchedVersion": "2026.3.2",
    "lastTouchedAt": "2026-03-20T08:36:03.058Z"
  }
}
~

然后保存退出

#重启openclaw服务
docker restart openclaw-gateway

#查看openclaw日志
docker logs -fn500 openclaw-gateway

这里能看到了0.0.0.0

现在可以通过远程机器    ip:18789端口访问openclaw web界面了

六、web 页面登录  继续解决坑点

目前页面提示

origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)

vim .openclaw/openclaw.json

{
  "meta": {
    "lastTouchedVersion": "2026.3.2",
    "lastTouchedAt": "2026-03-20T08:51:26.996Z"
  },
  "agents": {
    "defaults": {
      "compaction": {
        "mode": "safeguard"
      }
    }
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "gateway": {
    "bind": "lan",
    "controlUi": {
      "allowedOrigins": [
        "http://localhost:18789",
        "http://127.0.0.1:18789",
        "http://192.168.18.240:18789"   #添加这个服务器ip  就是服务器本机ip
      ]
    },
    "auth": {
      "mode": "token",
      "token": "1f69e7df8ab925f6ad563fa90c341ed6b7ee6374fe902771"    #复制这个token 接下来有用
    }
  }
}

然后保存退出

意思就是白名单策略

docker restart openclaw-gateway

现在刷新下页面就可以 

刚刚复制的token   就在web页面打开概览  输入进去    然后连接刷新即可

2、https 坑点解决

继续看着报错解决  他也提示了https加密连接

mkdir -pv /data/openclaw-docker/.openclaw/certs/

# 生成私钥和证书,IP地址修改为服务器IP
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/CN=192.168.18.240"
# 将证书移动到 openclaw 目录
mv key.pem cert.pem /data/openclaw-docekr/.openclaw/certs/

# 启用 HTTPS
docker exec -it openclaw-gateway bash
openclaw config set gateway.tls.enabled true

##openclaw config set gateway.tls.keyPath /data/openclaw-docker/.openclaw/certs/key.pem
##openclaw config set gateway.tls.certPath /data/openclaw-docker/.openclaw/certs/cert.pem
这里还有坑  这两个加密认证可以先不执行   
# 重启网关openclaw gateway restart

秘钥对认证的坑我在看一下  后续更新

目前https可以访问

3、又出现白名单问题

这个时候继续

vim /data/openclaw-docker/.openclaw/openclaw.json



{
  "meta": {
    "lastTouchedVersion": "2026.3.2",
    "lastTouchedAt": "2026-03-20T12:02:31.018Z"
  },
  "agents": {
    "defaults": {
      "compaction": {
        "mode": "safeguard"
      }
    }
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "gateway": {
    "bind": "lan",
    "controlUi": {
      "allowedOrigins": [
        "http://localhost:18789",
        "http://127.0.0.1:18789",
        "http://192.168.18.240:18789",
        "https://192.168.18.240:18789"   ##这里加入https加密的白名单
      ]
    },
    "auth": {
      "mode": "token",
      "token": "1f69e7df8ab925f6ad563fa90c341ed6b7ee6374fe902771"
    },
    "tls": {
      "enabled": true
    }
  }
}

4、pairing required问题解决

现在页面上出现一个配对批准的英文单词

我们可以打开概览   查看右侧 教程

docker exec -it openclaw-gateway bash

#进入容器


openclaw devices list

openclaw devices approve 31115c66-7b92-4f84-bb8b-4c5560c02661
#openclaw devices approve id  即可

现在再访问页面  就不会出现配对批准情况   状态也变成了正常

七、接入vLLM本地大模型

模型我是已经启动着的,大家有条件是可以接入在线模型,离线模型感觉还是不容易升级 有点笨

vllm 启动需要加  --enable-auto-tool-choice \
  --tool-call-parser hermes

这两个参数      不然会有报错问题

1、接着我们继续配置api

还是在容器内运行命令

openclaw onboard

这个就是在提示

当前系统默认是“个人使用模式”
如果你要在多人 / 公网 / 内网共享环境使用,必须做好安全加固
是否继续?

我们这里选择yes即可

选择初始化方式:

  • QuickStart:快速启动(先跑起来,后面再改配置)后续可以用 openclaw configure 修改

  • Manual:手动模式(一步一步自己配置所有参数)

我们这里选择快速启动即可 

配置处理方式:

  • Use existing values:继续使用现有配置

  • Update values:更新配置(保留旧的,改一部分)

  • Reset:全部重置,重新生成

直接回车,用我们现有配置即可

这里就是选择api配置了 

我们这里vLLM启动的  直接选择vllm即可

url 输入你模型调用的url

可以curl测试一下 

接着vLLM api key 这边随便输就可以  可以选择abc123

vLLM model 就输入模型名字即可    curl可以看到id    根据自己实际请求来

然后继续回车

我这边暂不配置   就选择Skip for now

这样结束了

web界面在代理这边是可以看到的

先实行对话  后续接入飞书可以在频道里面配置

后续我会持续更新的

更多推荐