🦞Docker 上部署 Clawdbot(Moltbot)AI助手完整步骤教程

简介: Clawdbot是一款开源的本地优先个人AI助手,可运行在个人设备上,支持WhatsApp、Telegram、Slack、Discord等十余种通信渠道,兼容macOS、iOS、Android系统,还能渲染实时Canvas界面。其核心优势在于本地化运行带来的快速响应与隐私安全,网关仅作为控制平台,真正的助理功能聚焦于实际任务处理。本文基于Clawdbot官方文档整理,提供Docker Compose部署的完整指南,涵盖环境准备、源码获取、配置、构建、启动及运维等关键环节,补充生产环境必需的安全配置、数据持久化、备份与监控建议,且与官方配置无冲突,适用于希望通过Docker快速部署的用户。

Clawdbot是一款开源的本地优先个人AI助手,可运行在个人设备上,支持WhatsApp、Telegram、Slack、Discord等十余种通信渠道,兼容macOS、iOS、Android系统,还能渲染实时Canvas界面。其核心优势在于本地化运行带来的快速响应与隐私安全,网关仅作为控制平台,真正的助理功能聚焦于实际任务处理。本文基于Clawdbot官方文档整理,提供Docker Compose部署的完整指南,涵盖环境准备、源码获取、配置、构建、启动及运维等关键环节,补充生产环境必需的安全配置、数据持久化、备份与监控建议,且与官方配置无冲突,适用于希望通过Docker快速部署的用户。需说明的是,Clawdbot暂无官方预构建Docker镜像,需通过源码+Dockerfile本地构建,这也是官方推荐的最稳定部署方式。
image.png

一、部署模式说明

Clawdbot的Docker部署分为三种场景,适配不同使用需求,核心差异集中在配置复杂度、数据处理与资源限制上:

  1. 测试/本地体验:适用于功能验证、开发调试场景。配置简化,无严格资源限制,数据可无需持久化,日志仅输出至控制台,重点在于快速启动体验核心功能。
  2. 单机生产(官方推荐):适用于中小规模线上运行场景。强制开启数据持久化,配置重启策略、健康检查与资源限制,日志持久化存储,需定期备份数据,保障服务稳定可靠。
  3. 企业级生产:适用于高可用、大规模业务场景。基于单机生产配置扩展,支持多节点部署、CI/CD流程集成、外部数据库对接、监控告警与容灾备份,本文暂不覆盖该场景的多节点高可用与分布式数据库部署,需另行设计架构。

需特别提示:本文示例默认标注NODE_ENV=production,但测试部署与生产部署的配置要求差异显著,需根据实际场景选择对应配置策略,避免混用导致服务异常。

提示:【阿里云轻量应用服务器】已上线 Moltbot(Clawdbot) 官方镜像,可5分钟开跑!怕麻烦的同学参考 阿里云轻量服务器一键部署页,简单快速部署:
阿里云Moltbot(Clawdbot)一键部署页:https://www.aliyun.com/activity/ecs/clawdbot
1.png
3.png

二、环境准备:安装Docker与Docker Compose

为降低部署门槛,提供两种Docker环境安装方式,可根据服务器网络环境选择:

2.1 一键安装脚本(推荐国内服务器)

执行以下命令,脚本完全基于Docker官方安装流程整理,仅优化国内网络访问体验,内置国内可访问的Docker镜像源与软件仓库,不修改Docker核心配置与运行行为,也可独立用于其他Docker部署场景:

bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

2.2 Docker官方安装方式(适用于网络可直连环境)

若服务器可正常访问Docker官方站点,可直接遵循官方文档安装,以Ubuntu系统为例:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

其他系统需参考Docker官方文档(地址:https://docs.docker.com/engine/install)执行安装。

2.3 安装验证

无论采用哪种方式,安装完成后需执行以下命令验证,确保Docker与Docker Compose正常可用:

docker --version
docker compose version

若输出类似Docker version 26.0.0, build 2ae903eDocker Compose version v2.24.6的版本信息,即表示安装成功。

三、获取Clawdbot源码

官方推荐直接从GitHub克隆源码,项目目录中已包含Docker部署必需的文件(Dockerfile、docker-compose.yml官方基础版、.env.example),生产环境可基于这些文件扩展配置:

git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot

四、配置环境变量

环境变量用于定义数据库凭证、服务端口、日志级别等核心参数,需根据部署场景单独配置,避免敏感信息泄露:

4.1 复制环境变量模板

  • 测试场景:直接复制基础模板,无需额外创建:
    cp .env.example .env
    
  • 生产场景(推荐):单独创建生产环境变量文件,后续命令需指定该文件:
    cp .env.example .env.production
    

4.2 环境变量配置说明(生产场景示例)

生产环境的.env.production文件需包含以下核心配置,需替换默认值为实际参数,尤其是敏感凭证:

# 基础配置
NODE_ENV=production

# 数据库配置(生产环境必须替换为强密码)
DB_PASSWORD=请替换为随机强密码(长度≥16位,含大小写/数字/特殊符号)
DATABASE_URL=postgresql://clawdbot:${DB_PASSWORD}@db:5432/clawdbot

# Bot / Gateway 配置
BOT_TOKEN=请替换为真实的Bot Token
GATEWAY_PORT=3000

# 日志配置
LOG_LEVEL=info
LOG_DIR=/var/log/clawdbot

# 其他可选配置
WORKER_CONCURRENCY=4

4.3 安全加固

生产环境的环境变量文件包含敏感凭证,需严格限制文件权限,避免未授权访问:

chmod 600 .env.production

重要安全提示:请勿使用示例中的弱密码,生产环境建议使用随机生成的强密码;.env或.env.production文件禁止提交到公共代码仓库;企业级部署建议使用Docker Secret或第三方密钥管理系统替代环境变量文件存储敏感信息。

五、构建Docker镜像

由于Clawdbot无官方远程镜像仓库,需在项目根目录本地构建镜像,执行以下命令:

docker build -t clawdbot:latest .

构建完成后,可通过以下命令确认镜像是否创建成功:

docker images | grep clawdbot

若输出包含clawdbot:latest的记录,说明镜像构建成功。

六、初始化流程(Onboarding)

首次部署前需执行初始化流程,用于创建数据库结构、基础配置等,该步骤为首次部署必需,且设计为幂等操作,重复执行不会破坏已有数据,仅校验或补全基础配置:

  • 测试场景:
    docker compose run --rm clawdbot-cli onboard
    
  • 生产场景:
    docker compose --env-file .env.production run --rm clawdbot-cli onboard
    
    其中,clawdbot-cli是官方docker-compose.yml中定义的管理服务,专门用于执行初始化与维护命令,执行成功后会显示初始化完成的提示信息。

七、启动Clawdbot服务

根据部署场景选择对应的启动方式,生产场景需额外配置生产级参数,保障服务稳定性:

7.1 测试场景启动(快速体验)

无需额外修改配置,直接执行以下命令启动服务,容器会在后台运行:

docker compose up -d

7.2 生产场景启动(推荐配置)

首先需创建或修改docker-compose.prod.yml文件,补充生产环境必需的重启策略、健康检查、资源限制、日志轮转与数据持久化配置(适配普通Docker Compose非Swarm模式):

version: '3.8'

services:
  clawdbot-gateway:
    image: clawdbot:latest
    command: ["gateway"]
    ports:
      - "3000:3000"
    env_file: .env.production
    restart: unless-stopped  # 进程退出时自动重启(生产必需)
    # 健康检查配置(生产必需)
    healthcheck:
      # 以下为示例健康检查路径,需根据Clawdbot实际提供的健康接口调整
      # 若官方未提供健康接口,可替换为端口连通性检查:["CMD", "nc", "-z", "localhost", "3000"]
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 60s
    # Docker Compose(非Swarm)资源限制(生产建议)
    cpus: "1.0"
    mem_limit: 1g
    # 日志轮转(生产建议)
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"
    volumes:
      - clawdbot-logs:/var/log/clawdbot

  clawdbot-worker:
    image: clawdbot:latest
    command: ["worker"]
    env_file: .env.production
    restart: unless-stopped
    healthcheck:
      # 以下为示例健康检查命令,需根据Clawdbot实际情况调整
      test: ["CMD", "node", "-e", "process.exit(0)"]
      interval: 30s
      timeout: 10s
      retries: 3
    # Docker Compose(非Swarm)资源限制(生产建议)
    cpus: "1.0"
    mem_limit: 512m
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"
    volumes:
      - clawdbot-logs:/var/log/clawdbot

  db:
    image: postgres:15-alpine
    env_file: .env.production
    environment:
      - POSTGRES_USER=clawdbot
      - POSTGRES_PASSWORD=${
   DB_PASSWORD}
      - POSTGRES_DB=clawdbot
    volumes:
      - clawdbot-db-data:/var/lib/postgresql/data  # 数据持久化卷(生产必需)
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U clawdbot -d clawdbot"]
      interval: 10s
      timeout: 5s
      retries: 5
    # Docker Compose(非Swarm)资源限制(生产建议)
    cpus: "0.5"
    mem_limit: 512m
    # 生产环境禁止暴露数据库端口到宿主机
    # ports:
    #   - "5432:5432"

volumes:
  clawdbot-db-data:  # 数据库持久化卷(核心,不可随意删除)
  clawdbot-logs:     # 日志持久化卷

若使用Docker Swarm模式,需删除上述配置中的cpusmem_limit,替换为以下部署配置(仅在Swarm模式下生效):

deploy:
  resources:
    limits:
      cpus: '1'
      memory: 1G

完成配置后,执行以下命令启动生产环境服务:

docker compose -f docker-compose.prod.yml up -d

7.3 查看运行状态

启动后可通过以下命令查看服务运行情况与日志,排查启动异常:

  • 测试场景:
    docker compose ps
    docker compose logs -f
    
  • 生产场景:
    docker compose -f docker-compose.prod.yml ps
    docker compose -f docker-compose.prod.yml logs -f
    
    正常运行的服务包含三类:clawdbot-gateway(仅该服务需对外暴露端口)、clawdbot-worker(内部服务,禁止公网访问)、db(数据库服务,禁止公网访问)。

八、数据持久化与安全提示

生产环境需重点关注数据安全,避免数据丢失或未授权访问:

  1. 数据存储载体:PostgreSQL数据库数据存储在名为clawdbot-db-data的Docker Volume中,该Volume是数据唯一持久化载体,容器删除后数据不会丢失,但需注意Volume仅能应对容器层面的故障,无法抵御磁盘故障或误操作。
  2. 禁止危险操作:生产环境严禁执行docker compose down -v命令,-v参数会删除Volume,导致数据永久丢失;如需清理容器,仅执行docker compose down(仅删除容器,保留Volume)。
  3. 敏感信息保护:环境变量文件、数据库密码、Bot Token等敏感信息需严格保密,定期更换密码,避免泄露导致安全风险。

九、服务访问与防火墙配置

9.1 访问方式

Clawdbot Gateway默认监听3000端口,本地访问地址为http://localhost:3000,服务器访问地址为http://<服务器IP>:3000,可通过该地址对接通信渠道或直接操作AI助手。

9.2 防火墙/安全组配置(生产必需)

  1. 端口放行规则:仅放行3000端口(Clawdbot Gateway),禁止放行5432端口(数据库),减少攻击面。
  2. 访问来源限制:建议限制3000端口的访问来源,如仅允许企业内网IP或指定信任IP访问,提升安全性。
  3. 配置方式:云服务器需在厂商控制台配置安全组规则,物理机或虚拟机需通过iptablesfirewalld配置端口规则。

十、数据库备份(生产环境必需)

Docker Volume不等于备份,生产环境必须配置数据库备份策略,应对磁盘故障、误操作等场景:

10.1 手动备份

  • 测试场景:
    docker compose exec db pg_dump -U clawdbot -d clawdbot > clawdbot_backup_$(date +%Y%m%d).sql
    
  • 生产场景:
    docker compose -f docker-compose.prod.yml exec -T db pg_dump -U clawdbot -d clawdbot > clawdbot_backup_$(date +%Y%m%d_%H%M%S).sql
    # 备份文件权限加固,仅当前用户可读写
    chmod 600 clawdbot_backup_*.sql
    

10.2 自动备份(推荐)

创建定时备份脚本backup_clawdbot.sh,实现自动备份与备份文件清理:

#!/bin/bash
# Clawdbot 数据库自动备份脚本(生产环境)
set -e

# 配置项
BACKUP_DIR="/data/clawdbot/backup"
COMPOSE_FILE="/path/to/clawdbot/docker-compose.prod.yml"  # 替换为实际docker-compose.prod.yml路径
RETENTION_DAYS=7  # 保留最近7天备份

# 创建备份目录
mkdir -p $BACKUP_DIR

# 执行备份
BACKUP_FILE="$BACKUP_DIR/clawdbot_backup_$(date +%Y%m%d_%H%M%S).sql"
docker compose -f $COMPOSE_FILE exec -T db pg_dump -U clawdbot -d clawdbot > $BACKUP_FILE

# 备份文件权限加固
chmod 600 $BACKUP_FILE

# 清理过期备份,删除超过保留天数的文件
find $BACKUP_DIR -name "clawdbot_backup_*.sql" -mtime +$RETENTION_DAYS -delete

# 建议:将备份文件同步至对象存储(OSS/S3/NAS)或异地服务器,提升容灾能力
# 示例:aws s3 cp $BACKUP_FILE s3://clawdbot-backup/
# 示例:rsync -avz $BACKUP_FILE backup@remote-server:/data/backup/

赋予脚本执行权限并添加到crontab,设置每日凌晨2点自动备份:

chmod +x backup_clawdbot.sh
crontab -e
# 新增一行,替换脚本实际路径
0 2 * * * /path/to/backup_clawdbot.sh >> /var/log/clawdbot_backup.log 2>&1

十一、升级与维护

11.1 更新代码与重新构建镜像

当Clawdbot有版本更新时,执行以下命令拉取最新代码并重新构建镜像:

cd clawdbot
git pull
docker build -t clawdbot:latest .

11.2 重启服务

  • 测试场景:
    docker compose down
    docker compose up -d
    
  • 生产场景:
    docker compose -f docker-compose.prod.yml down
    docker compose -f docker-compose.prod.yml up -d
    

11.3 升级注意事项

  1. 升级前必须备份数据库,避免版本更新导致的数据库结构变更引发数据丢失。
  2. 若新版本包含数据库结构变更,需先查看官方升级指引,部分版本可能需要执行数据迁移命令。
  3. 升级后建议先查看服务日志,确认无报错后再对外提供服务,避免线上故障。

十二、架构说明

12.1 测试/单机部署架构

核心架构为单Docker网络,各组件通过内部网络通信,仅Gateway对外暴露端口,数据库数据存储在Docker Volume中,结构简洁:
用户浏览器/客户端 →(HTTP :3000)→ clawdbot-gateway(Web/API接入层)→(内部网络)→ clawdbot-worker(后台任务处理)→(SQL)→ PostgreSQL(数据持久化服务),Docker Volume(clawdbot-db-data)为数据持久化核心载体。

12.2 生产级单节点增强架构

在基础架构上增加生产级增强特性:Gateway配置重启策略、健康检查与资源限制;worker无公网暴露且配置资源限制;数据库开启Volume持久化、定期备份且不暴露公网端口;新增定时备份脚本(权限加固+异地存储)与日志卷(轮转策略+权限控制);通过防火墙/安全组限制Gateway访问来源,整体安全性与稳定性显著提升。

十三、日志管理(生产建议)

  1. 日志持久化:通过Docker Volume将日志挂载到宿主机,便于集中管理与追溯,已在docker-compose.prod.yml中配置。
  2. 企业级日志接入:生产环境建议将日志接入专业日志系统,如ELK Stack(Elasticsearch + Logstash + Kibana)、Loki + Grafana,或云厂商日志服务(阿里云SLS、腾讯云CLS),配置示例(以Loki为例):
    logging:
    driver: "loki"
    options:
     loki-url: "http://loki:3100/loki/api/v1/push"
     loki-external-labels: "service={
         {.Name}},env=production"
    

十四、常见问题说明

  1. 为什么没有docker pull clawdbot/...命令?
    Clawdbot官方目前未发布官方Docker镜像,核心原因包括配置高度定制化(涉及Token、数据库、Gateway等敏感参数)、避免通用镜像导致的安全误用,以及鼓励用户自行构建实现可控部署。

  2. 可以自行发布镜像到私有仓库吗?
    可以,流程如下,适合企业内部部署或CI/CD集成使用:

    docker tag clawdbot:latest registry.example.com/clawdbot:latest
    docker push registry.example.com/clawdbot:latest
    
  3. 重复执行onboard命令会有风险吗?
    不会,onboard命令设计为幂等操作,重复执行仅会校验已有配置,补全缺失的基础配置,不会删除或修改业务数据。

  4. 生产环境如何进一步提升安全性?
    可采取多重措施:使用Docker Secret或第三方密钥管理系统存储敏感凭证(替代.env文件);为Gateway配置HTTPS(通过Nginx反向代理);限制容器的Linux内核能力(capabilities);使用非root用户运行容器;开启Docker守护进程的TLS认证。

  5. Docker Volume备份和数据库备份有什么区别?
    Docker Volume备份是对整个数据目录打包,恢复速度快,但占用空间大,无法实现单表恢复;数据库逻辑备份(pg_dump)为SQL文本格式,占用空间小,支持精细恢复(如单表恢复),是生产环境首选。建议两者结合使用,Volume备份用于快速恢复,逻辑备份用于精细恢复和异地容灾。
    2.png

十五、总结

本文基于Clawdbot官方基础配置,补充了生产环境必需的安全、可靠与运维能力,无官方配置冲突:测试部署聚焦快速体验,配置简化无需严格资源限制;单机生产部署是核心推荐方案,需重点关注数据持久化、重启策略、健康检查、资源限制与定期备份;企业级生产需在单机基础上扩展多节点、监控、容灾等能力,本文暂不覆盖。需特别强调:Docker Volume不等于备份,生产环境必须配置定期数据库备份与异地存储;暂无官方预构建镜像,需自行构建保证配置可控。如需K8s、CI/CD或高可用等更高级部署方式,可在本文单机生产配置基础上扩展。

目录
相关文章
|
3月前
|
存储 安全 数据库
使用 Docker 部署 Clawdbot(官方推荐方式)
Clawdbot 是一款开源、本地运行的个人AI助手,支持 WhatsApp、Telegram、Slack 等十余种通信渠道,兼容 macOS/iOS/Android,可渲染实时 Canvas 界面。本文提供基于 Docker Compose 的生产级部署指南,涵盖安全配置、持久化、备份、监控等关键运维实践(官方无预构建镜像,需源码本地构建)。
3293 7
|
3月前
|
人工智能 安全 测试技术
Clawdbot/Moltbot Docker容器化部署指南:打造个人AI助手的完整方案
Moltbot 是一款面向个人用户的自托管AI助手,支持Docker一键部署。兼容WhatsApp、Telegram等多渠道,提供语音交互与实时画布控制。采用非root安全运行、本地化数据存储及反向代理TLS加密,兼顾易用性与生产级稳定性。
571 1
|
3月前
|
人工智能 监控 应用服务中间件
教程:阿里云一键部署 Moltbot (Clawdbot) AI助手,24小时帮你工作!
Moltbot(原Clawdbot)是一款开源AI个人助手,具备强大的任务自动化能力与多平台兼容性,适用于个人开发者与企业团队构建智能化应用。为简化部署流程,阿里云推出Moltbot一键部署方案,无需复杂手动配置,即可快速启用服务,并实现与钉钉、QQ等消息通道的无缝对接,帮助用户快速拥有专属AI助手。本文将详细拆解部署流程与核心使用场景,确保不改变原意且无营销表述,助力用户高效落地应用。
1089 3
|
3月前
|
人工智能 Shell Linux
2026年Clawdbot(Moltbot)部署配置阿里云百炼API完整教程指南
Moltbot(原Clawdbot)是一款开源AI个人助手,支持本地部署,兼容MacOS、Windows、Linux等多种系统,可接入钉钉、飞书、WhatsApp等常用聊天工具,通过自然语言控制设备与服务。它作为功能强大的自动化工具,支持Qwen、Claude、GPT等主流大语言模型,能处理邮件、日程安排、市场调研等自动化任务,也可作为个人知识库随时响应查询,适用于24小时在线AI助手部署、自定义自动化流程搭建等场景。阿里云百炼Coding Plan套餐已支持Moltbot接入,可抵扣通义千问系列大模型,本文将详细拆解Moltbot安装、百炼API配置及套餐适配流程,确保不改变原意且无营销表述
2656 8
|
3月前
|
人工智能 弹性计算 JavaScript
Moltbot(Clawdbot)AI助手一键部署保姆级教程及2026年常见问题解答
Moltbot(原Clawdbot)作为开源AI助手,支持本地部署与云端部署,具备自动化任务处理、多渠道通信对接、大模型调用等核心能力,可满足个人与小型团队的智能辅助需求。2026年阿里云推出一键部署方案,大幅降低配置门槛,无需复杂环境搭建,新手也能快速上手。本文将详细拆解部署全流程,同时整理高频问题及解决方案,确保不改变原意且无营销表述,助力用户顺利启用AI助手。
998 2
|
3月前
|
人工智能 弹性计算 应用服务中间件
阿里云Moltbot一键部署攻略,三步即可完成!
Moltbot(原Clawdbot)是火爆全球的开源AI智能体,支持读文件、执行命令、写代码、管理系统。现正式登陆阿里云,免配置、一键部署,2GB内存起步,接入百炼API后即享7×24 AI超级助理!
516 3
|
3月前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
77585 201
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
3月前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
8950 18
|
3月前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
10098 24
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手