首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Docker极速部署AstrBot:打造专属全平台AI聊天助手

Docker极速部署AstrBot:打造专属全平台AI聊天助手

原创
作者头像
江湖有缘
发布于 2026-10-03 21:20:40
发布于 2026-10-03 21:20:40
310
举报
文章被收录于专栏:Linux成长之路Linux成长之路

一、AstrBot 介绍

1.1 AstrBot项目简介

AstrBot 是一款开源的一站式 Agent 聊天机器人平台,专为集成主流即时通讯(IM)应用而设计。它为个人开发者及企业团队提供稳定且可扩展的对话式 AI 基础设施,无论是构建私人 AI 伙伴、智能客服、自动化助手还是企业知识库,都能让你在现有的 IM 工作流中快速搭建出生产级的 AI 应用。

1.2 AstrBot核心特点

  1. 完全免费开源:项目代码公开透明,遵循开源协议,支持社区共建与自由定制。
  2. 强大的 AI 交互能力:全面支持大语言模型对话、多模态交互、Agent 编排、MCP 协议、技能调用、知识库检索、人设配置及自动上下文压缩。
  3. 广泛的第三方平台对接:无缝兼容 Dify、阿里云百炼、扣子(Coze)等主流 Agent 开发与编排平台。
  4. 全渠道多平台适配:原生支持 QQ、企业微信、飞书、钉钉、微信公众号、Telegram、Slack 等各大主流社交与办公平台。
  5. 丰富的插件生态:拥有超过 1000 个现成插件,涵盖各类实用场景,支持一键安装以极速扩展功能。
  6. 安全的 Agent 沙箱机制:提供隔离的运行环境,确保代码执行与 Shell 调用的安全性,并支持会话级别的资源复用。
  7. 便捷的 WebUI 管理:配备直观的网页用户界面,极大简化了机器人的日常配置与运维管理工作。
  8. 现代化的 Web 聊天界面:内置独立的 Web 聊天 UI,自带 Agent 沙箱环境与联网搜索功能,开箱即用。
  9. 国际化(i18n)支持:系统内置多语言切换能力,能够轻松满足全球不同地区用户的本地化使用需求。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

hostname

IP地址

操作系统版本

Docker版本

部署项目

备注

jeven

192.168.3.88

Ubuntu 24.04.2 LTS

28.5.0

AstrBot

——

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署AI聊天助手AstrBot 。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

代码语言:bash
复制
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-02-05 00:27:40 CST; 1s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 841698 (dockerd)
      Tasks: 65
     Memory: 73.5M (peak: 77.1M)
        CPU: 975ms
     CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

代码语言:bash
复制
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

代码语言:bash
复制
root@jeven:~# docker compose version
Docker Compose version v2.39.4

四、拉取AstrBot 镜像

下载AstrBot 镜像,执行以下命令:

代码语言:bash:
复制
root@jeven:~# docker pull soulter/astrbot:v4.25.1
v4.25.1: Pulling from soulter/astrbot
57fb71246055: Already exists
797809503061: Already exists
759e0c85a86e: Already exists
b33ff618953d: Already exists
91e5207f7536: Pull complete
bff77dc5fbe1: Pull complete
a35c81515acb: Pull complete
d5fb4df24609: Pull complete
Digest: sha256:d26eacf8aba492ae09ef781038ceea08a7c6f3bffbe222dbd8679ce642ed5c5f
Status: Downloaded newer image for soulter/astrbot:v4.25.1
docker.io/soulter/astrbot:v4.25.1
在这里插入图片描述
在这里插入图片描述

五、部署AstrBot 服务

5.1 创建部署目录

创建部署目录/data/astrbot,执行以下命令:

代码语言:bash
复制
mkdir -p /data/astrbot/data  && cd  /data/astrbot/

在测试环境中,为了方便操作,我们直接为挂载目录设置了完全权限。但在生产环境中,请务必根据实际安全需求,配置更精细、严格的权限控制方案。

代码语言:bash
复制
chmod -R 777 /data/astrbot/

5.2 创建AstrBot容器

如果想要使用docker-cli方式部署,可参考以下命令部署。(可选)

代码语言:bash
复制
docker run -d \
   --restart always \
   --name astrbot \
   -p 6185:6185 \
   -p 6199:6199 \
   -v $(pwd)/data:/AstrBot/data \
   -v /etc/localtime:/etc/localtime:ro \
   -e TZ=Asia/Shanghai \
   soulter/astrbot:v4.25.1

本次实践我们采用 Docker Compose 方式进行部署,这也是我推荐的方式。首先我们需要创建并编辑 docker-compose.yaml 文件,请注意宿主机映射端口可根据您的实际情况自行设置,务必避免端口冲突。

代码语言:bash
复制
vim docker-compose.yaml
代码语言:yaml
复制
version: '3'

services:
  astrbot:
    image: soulter/astrbot:v4.25.1
    container_name: astrbot
    restart: always
    ports: # mappings description: https://github.com/AstrBotDevs/AstrBot/issues/497
      - "6185:6185" # 必选,AstrBot WebUI 端口
      - "6199:6199" # 可选, QQ 个人号 WebSocket 端口
      # - "6195:6195" # 可选, 企业微信 Webhook 端口
      # - "6196:6196" # 可选, QQ 官方接口 Webhook 端口
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./data:/AstrBot/data
      # - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro

执行以下命令,创建OpenCloud容器。

代码语言:bash
复制
docker compose up -d
在这里插入图片描述
在这里插入图片描述

5.3 查看AstrBot 容器状态

检查AstrBot 容器运行状态,确保AstrBot 容器正常启动。

代码语言:bash
复制
root@jeven:/data/astrbot# docker compose ps
WARN[0000] /data/astrbot/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME      IMAGE                     COMMAND            SERVICE   CREATED         STATUS         PORTS
astrbot   soulter/astrbot:v4.25.1   "python main.py"   astrbot   2 minutes ago   Up 2 minutes   0.0.0.0:6185->6185/tcp, [::]:6185->6185/tcp, 0.0.0.0:6199->6199/tcp, [::]:6199->6199/tcp
在这里插入图片描述
在这里插入图片描述

5.4 检查容器日志

检查AstrBot 容器日志,确保AstrBot 服务正常运行。

代码语言:bash
复制
docker compose logs
在这里插入图片描述
在这里插入图片描述

六、访问AstrBot 服务

6.1 访问AstrBot 初始页

浏览器地址: http://<个人的服务器IP>:6185,访问AstrBot 初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述
在这里插入图片描述

6.2 登录AstrBot

默认账号为astrbot,密码为随机生成密码,可在容器日志中查看。

代码语言:bash
复制
docker compose logs
在这里插入图片描述
在这里插入图片描述

第一次登录后,需要修改密码,修改密码后即可进入AstrBot 首页。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3 配置AI模型

点击首页中的模型配置选,进入AI模型配置页面。

在这里插入图片描述
在这里插入图片描述

模型提供商选择OpenAI Compatible,API url这里填写阿里云百炼平台https://dashscope.aliyuncs.com/compatible-mode/v1,填写自己百炼平台的API KEY及对应模型。

在这里插入图片描述
在这里插入图片描述

6.4 对话测试

在新建聊天框中,我们选择刚才添加的模型,进行简单提问,当AI助手正常回答时,表明AI配置正常。

在这里插入图片描述
在这里插入图片描述

七、总结

本次实践通过 Docker 容器化技术,在本地环境中高效完成了 AstrBot 全平台 AI 聊天助手的私有化部署与基础配置。借助其模块化的架构设计,不仅实现了服务的一键拉起与数据持久化,更大幅降低了多模型接入与跨平台集成的技术门槛。实测表明,AstrBot 在 WebUI 交互、插件扩展及多模态对话等核心场景下表现稳定,充分满足了个人及团队对智能化办公与数据隐私的双重需求。这套轻量级解决方案为构建自主可控的对话式 AI 基础设施提供了可靠路径,展现出极高的应用价值与拓展潜力。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、AstrBot 介绍
    • 1.1 AstrBot项目简介
    • 1.2 AstrBot核心特点
  • 二、本次实践规划
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、拉取AstrBot 镜像
  • 五、部署AstrBot 服务
    • 5.1 创建部署目录
    • 5.2 创建AstrBot容器
    • 5.3 查看AstrBot 容器状态
    • 5.4 检查容器日志
  • 六、访问AstrBot 服务
    • 6.1 访问AstrBot 初始页
    • 6.2 登录AstrBot
    • 6.3 配置AI模型
    • 6.4 对话测试
  • 七、总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档