Ubuntu 22.04 LTS 部署宝塔面板与 OpenClaw 实战指导文档

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

Ubuntu 22.04 LTS 部署宝塔面板与 OpenClaw 实战指导文档

摘要

本文档针对在 Ubuntu 22.04 LTS 上部署 OpenClaw(开源自托管 AI 助手网关)的两种思路进行深度技术分析与实战指导。思路一为先部署宝塔(BT)面板,再在宝塔环境中部署 OpenClaw;思路二为绕过面板,直接以 Docker Compose 或 systemd 原生方式部署 OpenClaw。经过对 OpenClaw 项目架构、三种安装方式、宝塔面板集成路径、安全加固、迁移与运维的系统性研究,本文档得出结论:对于关注"后续迁移与管理便利性"的场景,思路二(Docker Compose 直接部署 + Nginx 反向代理 + systemd 托管)在迁移效率、停机时间、数据完整性、回滚能力和安全隔离方面具有压倒性优势;思路一则更适合服务器上同时运行多个网站、运维团队习惯图形化管理的场景。文档提供两条路径的完整实战命令、配置文件示例、踩坑解决方案及决策树,可直接作为部署执行参考。


一、背景与项目概览

1.1 OpenClaw 项目简介

OpenClaw(前身为 Clawdbot / Moltbot)是一个开源、自托管的个人 AI 助手网关,采用 MIT 协议,由 Peter Steinberger 主导开发,GitHub 仓库位于 https://github.com/openclaw/openclaw。其核心定位是运行在用户自有机器或服务器上的 AI 智能体网关,支持多模型接入(Anthropic Claude、OpenAI GPT、Google Gemini、Kimi、DeepSeek、通义千问、Ollama 本地模型等)、工作流自动化、代码辅助、IM 渠道接入(Telegram、WhatsApp、飞书、钉钉、企业微信等)。截至调研时最新版本约为 2026.7.1

1.2 核心架构组件

组件 说明 默认端口
Gateway 核心网关服务,提供控制面板、API 和 Prometheus 指标端点 18789
Bridge 内部桥接服务(Docker 部署中可映射为 18890) 18790
Web UI / Control UI Web 控制面板,通过 http://localhost:18789 访问
CLI 命令行工具 openclaw,入口为 dist/index.js
Skills 技能插件系统(53个),通过 clawhub install 安装
Tools 系统能力层(25种),包含 read/write/edit/exec/web_search 等
Sandbox Agent 沙箱隔离(Docker 容器方式)

1.3 运行时依赖与系统要求

依赖 要求
Node.js 最低 22.22.3+;支持 24.15+、25.9+、26+(默认推荐 26)
SQLite Node.js 内置 node:sqlite,需 WAL-reset-safe 版本(>3.51.x 或 3.50.7+)
npm ≥ 8
Git ≥ 2.x
资源 最低 推荐
CPU 2 核 4 核+
内存 2 GB 4-8 GB
磁盘 10 GB SSD 20-40 GB SSD
OS Ubuntu 22.04 LTS Ubuntu 22.04 LTS 或 macOS

1.4 安全提示

OpenClaw 仍处于 beta 阶段,其 Tools 层包含 exec(Shell 命令执行)等高权限能力。CVE-2026-25253(CVSS 8.8)影响 v2026.1.29 之前版本,存在跨站 WebSocket 劫持漏洞,可导致远程代码执行。部署时务必升级到 ≥ 2026.1.29 版本,该版本已永久移除 auth: "none" 模式,强制使用 Token 或密码认证。


二、部署前环境准备(通用步骤)

无论选择哪种部署思路,以下基础环境准备工作必须先完成。

2.1 系统更新与基础工具安装

# 更新系统软件源和已安装包
sudo apt update && sudo apt upgrade -y

# 安装基础依赖工具
sudo apt install -y curl wget git net-tools build-essential

2.2 配置 Swap(内存低于 4GB 必做)

OpenClaw 的 npm install 或 Docker 镜像构建过程中可能因内存不足被 OOM Killer 终止(退出码 137),低配服务器必须配置 Swap:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

2.3 配置防火墙基线

Ubuntu 22.04 默认使用 ufw 防火墙。部署前先放行 SSH 端口,避免后续操作中误锁自己:

sudo ufw allow 22/tcp
sudo ufw enable

后续根据部署思路开放对应端口(详见各方案章节)。

2.4 配置时区与时间同步

sudo timedatectl set-timezone Asia/Shanghai
sudo apt install -y chrony
sudo systemctl enable chrony
sudo systemctl start chrony

三、思路一:先部署宝塔面板,再在宝塔中部署 OpenClaw

3.1 宝塔面板安装

3.1.1 安装命令

Ubuntu 22.04 使用官方推荐的一键安装脚本:

if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh docscenter

安装过程中提示 Do you want to install Bt-Panel to the /www directory now?(y/n) 时输入 y 确认。安装完成后终端会输出面板地址、用户名和密码,务必记录。

3.1.2 安装后关键路径与配置
项目 路径/值
面板安装路径 /www/server/panel
默认端口 8888(建议修改)
站点默认目录 /www/wwwroot
Nginx 配置文件 /www/server/nginx/conf/nginx.conf
站点 Nginx 配置目录 /www/server/panel/vhost/nginx
备份目录 /www/backup/site/www/backup/database

查看默认登录信息:bt 14;修改密码:bt 5;修改用户名:bt 6;修改端口:bt 8

3.1.3 宝塔面板安全加固(必做)

宝塔面板默认端口 8888 是高频扫描目标,安装后必须立即加固:

# 修改默认端口(如改为 8881)
bt 8
# 同步放行 ufw 防火墙
ufw allow 8881/tcp
# 删除旧端口规则(如需)
ufw delete allow 8888/tcp

在面板设置中进一步配置:绑定域名(仅可通过指定域名访问)、开启面板 SSL、开启 BasicAuth 认证、限制授权 IP。

3.2 在宝塔中部署 OpenClaw

宝塔环境下有三条可行路径,按推荐程度排序。

路径 A:宝塔 Docker 管理器 + Docker Compose 部署(推荐)

此路径将宝塔的可视化管理与 Docker 的环境隔离优势结合,是思路一中的最优选择。

第一步:安装 Docker 管理器

登录宝塔面板 → 软件商店 → 搜索"Docker" → 安装"Docker 管理器"。安装后会自动安装 Docker Engine。

第二步:配置镜像加速器(国内必做)

打开 Docker 管理器 → 设置 → 镜像加速,添加阿里云加速地址:https://registry.cn-hangzhou.aliyuncs.com

第三步:准备部署目录与配置

mkdir -p /www/wwwroot/openclaw/data/config
mkdir -p /www/wwwroot/openclaw/data/workspace
cd /www/wwwroot/openclaw

创建 docker-compose.yml

services:
  openclaw-gateway:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-gateway
    restart: unless-stopped
    environment:
      HOME: /home/node
      TERM: xterm-256color
      TZ: Asia/Shanghai
      OPENCLAW_GATEWAY_TOKEN: ${
   
   OPENCLAW_GATEWAY_TOKEN}
      OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: "false"
    volumes:
      - ./data/config:/home/node/.openclaw
      - ./data/workspace:/home/node/.openclaw/workspace
    ports:
      - "127.0.0.1:18789:18789"
    init: true
    command: ["node", "dist/index.js", "gateway", "--bind", "loopback", "--port", "18789"]
    cap_drop:
      - NET_RAW
      - NET_ADMIN
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 20s

  openclaw-cli:
    image: ghcr.io/openclaw/openclaw:latest
    network_mode: "service:openclaw-gateway"
    environment:
      HOME: /home/node
      OPENCLAW_GATEWAY_TOKEN: ${
   
   OPENCLAW_GATEWAY_TOKEN}
    volumes:
      - ./data/config:/home/node/.openclaw
    stdin_open: true
    tty: true
    init: true
    entrypoint: ["node", "dist/index.js"

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scriptsboy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值