精选的想法、故事和创意,全部汇集于此!

文章背景图

宝塔面板部署SnowLuma并与宝塔astorbot连接

2026-07-08
52
-
- 分钟

https://docs.astrbot.app/是一个QQ机器人项目,可以连接ai聊天模型进行对话。与QQ机器人托管项目https://snowluma.github.io/连接后能实现自由回复的QQ伪人

你需要准备:

  • 如果只部署这两个项目,二者加起来需要1G多内存,请准备一台至少2核2G的服务器并装上宝塔面板

  • 防火墙放行6081 5099 6185

  • 一个QQ小号

部署astorbot

在宝塔-docker-应用商店搜索并下载astorbot即可

部署SnowLuma

容器会占用以下端口,确保没有与其他容器冲突

端口

用途

5900

VNC(远程桌面,密码登录 QQ 用)

6081

noVNC(浏览器版 VNC,无客户端访问)

5099

SnowLuma WebUI

3000

OneBot HTTP(默认)

3001

OneBot WebSocket(默认)

使用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

  1. 启动容器并在浏览器访问http://<IP>:6081/输入vncpasswd

  2. 扫码登录机器人QQ号

  3. 浏览器访问http://<IP>:5099/访问 SnowLuma WebUI

  4. 打开容器日志找到password输入

按照入图片设置连接ws

SnowLuma反向URL输入ws://astrbot_4nKx:6199/ws可以在astorbot容器重启更换ip时也能连上

授权token二者相同即可

部署之后服务器经常卡住怎么办

部署过机器人之后经常遇到服务器卡死只能重启的情况,每次卡死前都是磁盘大量读写,估计是内存不足

使用以下方案

https://www.bilibili.com/video/BV1a3QaYjE15
云服务器交换文件设置.webp

依次运行以下命令

fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h
sudo sysctl vm.swappiness=60

修改/etc 中的sysctl.conf vm.swappiness=60

cat /proc/sys/vm/swappiness

原创

宝塔面板部署SnowLuma并与宝塔astorbot连接

本文链接: 宝塔面板部署SnowLuma并与宝塔astorbot连接

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

评论交流

文章目录