你需要准备:
如果只部署这两个项目,二者加起来需要1G多内存,请准备一台至少2核2G的服务器并装上宝塔面板
防火墙放行
608150996185一个QQ小号
部署astorbot
在宝塔-docker-应用商店搜索并下载astorbot即可
部署SnowLuma
容器会占用以下端口,确保没有与其他容器冲突
使用docker-compose部署
在宝塔文件下例如/www/wwwroot/snowluma新建一个docker-compose.yml并复制粘贴以下内容
services:
snowluma:
image: ${SNOWLUMA_IMAGE:-motricseven7/snowluma:latest}
container_name: ${SNOWLUMA_CONTAINER:-snowluma}
restart: unless-stopped
shm_size: 1gb
cap_add:
- SYS_PTRACE
security_opt:
- seccomp=unconfined
environment:
VNC_PASSWD: ${VNC_PASSWD:-vncpasswd}
SNOWLUMA_UID: ${SNOWLUMA_UID:-1000}
SNOWLUMA_GID: ${SNOWLUMA_GID:-1000}
SNOWLUMA_WEBUI_PORT: ${SNOWLUMA_WEBUI_PORT:-5099}
SNOWLUMA_LOG_LEVEL: ${SNOWLUMA_LOG_LEVEL:-info}
SNOWLUMA_SCREEN: ${SNOWLUMA_SCREEN:-1920x1080x24}
SNOWLUMA_HOOK_AUTOLOAD: ${SNOWLUMA_HOOK_AUTOLOAD:-1}
SNOWLUMA_EXTRA_QQ_HOMES: "${SNOWLUMA_EXTRA_QQ_HOMES:-}"
SNOWLUMA_QQ_FLAGS: "${SNOWLUMA_QQ_FLAGS:---disable-gpu --disable-software-rasterizer --disable-gpu-compositing}"
ports:
- "${VNC_PORT:-5900}:5900"
- "${NOVNC_PORT:-6081}:6081"
- "${SNOWLUMA_WEBUI_HOST_PORT:-5099}:${SNOWLUMA_WEBUI_PORT:-5099}"
- "${ONEBOT_HTTP_PORT:-3000}:3000"
- "${ONEBOT_WS_PORT:-3001}:3001"
volumes:
- snowluma-data:/app/snowluma-data
- snowluma-qq-config:/app/.config
- snowluma-qq-data:/app/.local/share
# 新增:接入baota_net与astorbot同一个宝塔网络,否则后续ws连接不上
networks:
- baota_net
networks:
baota_net:
external: true
volumes:
snowluma-data:
snowluma-qq-config:
snowluma-qq-data:点击终端进入这个文件夹,并启动
docker compose up -d后续升级
docker compose pull
docker compose up -d启动机器人QQ
启动容器并在浏览器访问
http://<IP>:6081/输入vncpasswd扫码登录机器人QQ号
浏览器访问
http://<IP>:5099/访问 SnowLuma WebUI打开容器日志找到password输入
按照入图片设置连接ws


SnowLuma反向URL输入ws://astrbot_4nKx:6199/ws可以在astorbot容器重启更换ip时也能连上
授权token二者相同即可
部署之后服务器经常卡住怎么办
部署过机器人之后经常遇到服务器卡死只能重启的情况,每次卡死前都是磁盘大量读写,估计是内存不足
使用以下方案

依次运行以下命令
fallocate -l 2G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfilefree -hsudo sysctl vm.swappiness=60修改/etc 中的sysctl.conf vm.swappiness=60
cat /proc/sys/vm/swappiness