Skip to content

使用 Docker 部署 AstrBot

WARNING

通过 Docker 可以方便地将 AstrBot 部署到 Windows, Mac, Linux 上。

以下教程默认您的环境已安装 Docker。如果没有安装,请参考 Docker 官方文档 进行安装。

如果网络环境在国内,可能无法正常拉取 Docker 镜像,请挂代理(需要额外在 Docker 设置中配置),或者使用国内镜像源。 镜像源可参考:目前国内可用Docker镜像源汇总(截至2025年1月) 如果仍不会配置,请加群询问~

通过 Docker Compose 部署

首先,需要 Clone AstrBot 仓库到本地:

bash
git clone https://github.com/Soulter/AstrBot
cd AstrBot

然后,运行 Compose:

bash
sudo docker compose up -d

Windows 下不需要加 sudo,下同

TIP

默认的 compose 文件没有映射宿主机的 docker.sock 文件,因此无法使用沙箱代码执行器。如果你需要使用沙箱代码执行器,请修改 docker-compose.yml 文件,添加在 volumes:

yaml
volumes:
  - /var/run/docker.sock:/var/run/docker.sock

通过 Docker 部署

bash
mkdir astrbot
sudo docker run -itd -p 6180-6200:6180-6200 -p 11451:11451 -v $PWD/data:/AstrBot/data --name astrbot soulter/astrbot:latest

Windows 下不需要加 sudo,下同

通过以下命令查看 AstrBot 的日志:

bash
sudo docker logs -f astrbot

TIP

AstrBot 支持基于 Docker 的沙箱代码执行器。如果你需要使用沙箱代码执行器,请额外添加 -v /var/run/docker.sock:/var/run/docker.sock 参数。即:

bash
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 --name astrbot soulter/astrbot:latest

🎉 大功告成!

如果一切顺利,你会看到 AstrBot 打印出的日志。

如果没有报错,你会看到一条日志显示类似 🌈 管理面板已启动,可访问 并附带了几条链接。打开其中一个链接即可访问 AstrBot 管理面板。

TIP

由于 Docker 隔离了网络环境,所以不能使用 localhost 访问管理面板。

默认用户名和密码是 astrbotastrbot

如果部署在云服务器上,需要在相应厂商控制台里放行 6180-620011451 端口。

接下来,你需要部署任何一个消息平台,才能够实现在消息平台上使用 AstrBot。