恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Ubuntu 22.04 LTS 部署宝塔面板与 OpenClaw 实战指导文档
首页
资讯中心
/
Ubuntu 22.04 LTS 部署宝塔面板与 OpenClaw 实战指导文档
Ubuntu 22.04 LTS 部署宝塔面板与 OpenClaw 实战指导文档
发布时间:2026/8/4 12:46:01
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 指标端点18789Bridge内部桥接服务(Docker 部署中可映射为 18890)18790Web UI / Control UIWeb 控制面板,通过http://localhost:18789访问—CLI命令行工具openclaw,入口为dist/index.js—Skills技能插件系统(53个),通过clawhub install安装—Tools系统能力层(25种),包含 read/write/edit/exec/web_search 等—SandboxAgent 沙箱隔离(Docker 容器方式)—1.3 运行时依赖与系统要求依赖要求Node.js最低 22.22.3+;支持 24.15+、25.9+、26+(默认推荐 26)SQLiteNode.js 内置node:sqlite,需 WAL-reset-safe 版本(3.51.x 或 3.50.7+)npm≥ 8Git≥ 2.x资源最低推荐CPU2 核4 核+内存2 GB4-8 GB磁盘10 GB SSD20-40 GB SSDOSUbuntu 22.04 LTSUbuntu 22.04 LTS 或 macOS1.4 安全提示OpenClaw 仍处于 beta 阶段,其 Tools 层包含exec(Shell 命令执行)等高权限能力。CVE-2026-25253(CVSS 8.8)影响 v2026.1.29 之前版本,存在跨站 WebSocket 劫持漏洞,可导致远程代码执行。部署时务必升级到 ≥ 2026.1.29 版本,该版本已永久移除auth: "none"模式,强制使用 Token 或密码认证。二、部署前环境准备(通用步骤)无论选择哪种部署思路,以下基础环境准备工作必须先完成。2.1 系统更新与基础工具安装# 更新系统软件源和已安装包sudoaptupdatesudoaptupgrade-y# 安装基础依赖工具sudoaptinstall-ycurlwgetgitnet-tools build-essential2.2 配置 Swap(内存低于 4GB 必做)OpenClaw 的 npm install 或 Docker 镜像构建过程中可能因内存不足被 OOM Killer 终止(退出码 137),低配服务器必须配置 Swap:sudofallocate-l4G /swapfilesudochmod600/swapfilesudomkswap/swapfilesudoswapon/swapfileecho'/swapfile none swap sw 0 0'|sudotee-a/etc/fstab2.3 配置防火墙基线Ubuntu 22.04 默认使用 ufw 防火墙。部署前先放行 SSH 端口,避免后续操作中误锁自己:sudoufw allow22/tcpsudoufwenable后续根据部署思路开放对应端口(详见各方案章节)。2.4 配置时区与时间同步sudotimedatectl set-timezone Asia/Shanghaisudoaptinstall-ychronysudosystemctlenablechronysudosystemctl start chrony三、思路一:先部署宝塔面板,再在宝塔中部署 OpenClaw3.1 宝塔面板安装3.1.1 安装命令Ubuntu 22.04 使用官方推荐的一键安装脚本:if[-f/usr/bin/curl];thencurl-sSOhttps://download.bt.cn/install/install_panel.sh;elsewget-Oinstall_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bashinstall_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/wwwrootNginx 配置文件/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)bt8# 同步放行 ufw 防火墙ufw allow8881/tcp# 删除旧端口规则(如需)ufw delete allow8888/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/configmkdir-p/www/wwwroot/openclaw/data/workspacecd/www/wwwroot/openclaw创建docker-compose.yml:services:openclaw-gateway:image:ghcr.io/openclaw/openclaw:latestcontainer_name:openclaw-gatewayrestart:unless-stoppedenvironment:HOME:/home/nodeTERM:xterm-256colorTZ:Asia/ShanghaiOPENCLAW_GATEWAY_TOKEN:${OPENCLAW_GATEWAY_TOKEN}OPENCLAW_ALLOW_INSECURE_PRIVATE_WS:"false"volumes:-./data/config:/home/node/.openclaw-./data/workspace:/home/node/.openclaw/workspaceports:-"127.0.0.1:18789:18789"init:truecommand:["node","dist/index.js","gateway","--bind","loopback","--port","18789"]cap_drop:-NET_RAW-NET_ADMINsecurity_opt:-no-new-privileges:truehealthcheck: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:30stimeout:5sretries:5start_period:20sopenclaw-cli:image:ghcr.io/openclaw/openclaw:latestnetwork_mode:"service:openclaw-gateway"environment:HOME:/home/nodeOPENCLAW_GATEWAY_TOKEN:${OPENCLAW_GATEWAY_TOKEN}volumes:-./data/config:/home/node/.openclawstdin_open:truetty:trueinit:trueentrypoint:["node","dist/index.js"