
WARNING
通过 Docker 可以方便地将 AstrBot 部署到 Windows, Mac, Linux 上。
以下教程默认您的环境已安装 Docker。如果没有安装,请参考 Docker 官方文档 进行安装。
通过 Docker Compose 部署
mkdir astrbot cd astrbot wget https://raw.githubusercontent.com/NapNeko/NapCat-Docker/main/compose/astrbot.yml sudo docker compose -f astrbot.yml up -d
git clone https://github.com/AstrBotDevs/AstrBot
cd AstrBot
然后,运行 Compose:
sudo docker compose up -d
TIP
如果您的网络环境在中国大陆境内,上述命令将无法正常拉取。您可能需要修改 compose.yml 文件,将其中的 image: soulter/astrbot:latest 替换为 image: m.daocloud.io/docker.io/soulter/astrbot:latest。
通过 Docker 部署
mkdir astrbot
cd astrbot
sudo docker run -itd -p 6180-6200:6180-6200 -p 11451:11451 -v $PWD/data:/AstrBot/data -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --name astrbot soulter/astrbot:latest
TIP
如果您的网络环境在中国大陆境内,上述命令将无法正常拉取。请使用以下命令拉取镜像:
sudo docker run -itd -p 6180-6200:6180-6200 -p 11451:11451 -v $PWD/data:/AstrBot/data -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --name astrbot m.daocloud.io/docker.io/soulter/astrbot:latest
关于端口映射,如果您不想映射上面这么多端口,可以参考下表:
| Port | Description | Type |
|---|---|---|
| 6185 | AstrBot WebUI 默认 端口 |
需要 |
| 6195 | 企业微信 默认 端口 |
可选 |
| 6199 | OneBot(aiocqhttp) 默认 端口 |
可选 |
| 6196 | QQ 官方 API(Webhook) HTTP callback server 默认 端口 |
可选 |
Windows 下不需要加 sudo,下同 Windows 同步 Host Time(需要WSL2)
-v \wsl.localhost(your-wsl-os)etctimezone:/etc/timezone:ro -v \wsl.localhost(your-wsl-os)etclocaltime:/etc/localtime:ro
通过以下命令查看 AstrBot 的日志:
sudo docker logs -f astrbot
TIP
AstrBot 支持基于 Docker 的沙箱代码执行器。如果你需要使用沙箱代码执行器,请额外添加 -v /var/run/docker.sock:/var/run/docker.sock 参数。即:
sudo docker run -itd -p 6180-6200:6180-6200 -p 11451:11451 -v $PWD/data:/AstrBot/data -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --name astrbot soulter/astrbot:latest
🎉 大功告成
如果一切顺利,你会看到 AstrBot 打印出的日志。
如果没有报错,你会看到一条日志显示类似 🌈 管理面板已启动,可访问 并附带了几条链接。打开其中一个链接即可访问 AstrBot 管理面板。
TIP
由于 Docker 隔离了网络环境,所以不能使用 localhost 访问管理面板。
默认用户名和密码是 astrbot 和 astrbot。
如果部署在云服务器上,需要在相应厂商控制台里放行 6180-6200 和 11451 端口。
接下来,你需要部署任何一个消息平台,才能够实现在消息平台上使用 AstrBot。
旧日记忆
docker部署确实方便,一次搞定
星海之舟
国内网络环境真是一言难尽啊🤦
夜梦无边
@星海之舟: 国内拉镜像太折磨了,加了daocloud才跑起来
苔藓庭院
这个端口映射表挺实用的
PumpkinPie
@苔藓庭院: 端口说明清楚多了,不然真不知道哪些能省
SneakyPants
有人试过在mac上部署成功吗?
发光的韭菜
我之前在ubuntu上搞过类似的,配置起来比这个麻烦多了
电磁之瞳
为啥要映射这么多端口?感觉有点复杂
小羊羔
@电磁之瞳: 其实只用WebUI的话开6185就行,其他按需开
WombatWarrior
WSL2那个时间同步的写法第一次见
血煞魔
管理面板默认密码建议改一下
霜冻蛛
沙箱执行器是干啥用的?
独白
部署完访问不了管理后台咋整
深海澜
我试了Mac部署,M2芯片跑得挺稳的
春樱
默认账号密码没改,差点被扫了,大家注意啊
琥珀川
沙箱执行器能隔离代码运行环境,安全点
幻影之茧
刚在树莓派上跑起来了,ARM镜像也支持?
沙堡建筑师
感觉文档里WSL2那块路径写漏了反斜杠
热情的阳
docker logs看了半天,原来要等两分钟才出面板链接
惊蛰雷鸣
这图还挺酷,机器人+集装箱直接把概念讲明白了
躺椅上的咸鱼
为啥非得挂这么多volume?data目录不就够了吗
合金风暴
前几天刚搞完这个,确实折腾了好久
混沌元素使
有人遇到启动后CPU狂飙的情况吗?