2108 字
8 分钟阅读
AstrBot与SnowLuma部署教程

一、部署前准备

结构:

astrbot/
 ├── docker-compose.yml
 ├── astrbot/
snowluma/
 ├── docker-compose.yml

新建目录:

mkdir -p ~/astrbot
cd ~/astrbot

二、部署AstrBot

1、docker-compose.yml
创建:

nano docker-compose.yml

内容:

services:

  astrbot:
    image: soulter/astrbot:latest
    container_name: astrbot
    restart: unless-stopped

    ports:
      - "6185:6185"

    volumes:
      - ./astrbot:/AstrBot/data

    environment:
      TZ: Asia/Shanghai

启动:

dkcoker compose up -d

查看:

docker ps

三、部署SnowLuma

与AstrBot同目录:

mkdir ~/snowluma
cd ~/snowluma
nano docker-compose.yml

内容:

services:
  snowluma:
    image: motricseven7/snowluma:latest
    container_name: snowluma
    restart: unless-stopped

    shm_size: 1gb

    cap_add:
      - SYS_PTRACE

    security_opt:
      - seccomp=unconfined

    environment:
      VNC_PASSWD: "修改成你的VNC密码"
      SNOWLUMA_WEBUI_PORT: 5099
      TZ: Asia/Shanghai

    ports:
      - "6081:6081"
      - "5099:5099"
      - "3000:3000"
      - "3001:3001"

    volumes:
      - snowluma-data:/app/snowluma-data
      - snowluma-config:/app/.config
      - snowluma-local:/app/.local/share

volumes:
  snowluma-data:
  snowluma-config:
  snowluma-local:

启动:

docker compose up -d

四、登录QQ

打开:

http://你的VPS IP:6081

连接:

输入我们在doker-compose.yml里配置的VNC_PASSWD:"密码"

进入远程桌面

里面会有QQ

扫码登录


五、确认OneBot是否启动

进入SnowLuma WebUI:

http://你的IP:5099 (记得开放端口)

初始密码需要在日志中查看

云服务器部署还需要修改webuiHost:

前往 snowluma-data/_data/config/runtime.json
把weiuiHost:改成0.0.0.0
之后可以用nginx反代配置域名

如:

nano /etc/nginx/sites-available/snowluma

写入:

server {

    server_name snow.xxx.com;

    location / {
        proxy_pass http://127.0.0.1:5099;

        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        # WebSocket支持
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;

    proxy_buffering off;

    }

这里我们先查看QQ状态是否在线

六、连接AstrBot

由于这里我们的AstrBot和SnowLuma是分开的两个容器
所以我们要创建docker网络

1、创建Docker网络

执行:

docker network create botnet

2、把两个容器加入网络

执行:

docker network connect botnet snowluma
docker network connect botnet astrbot

检查:

docker network inspect botnet

应该能看到两个容器地址在同一个网段


七、配置AstrBot

进入AstrBot webui:

http://你的IP:6185

在日志中查看初始密码:

docker logs -f astrbot

-菜单找到机器人

-创建机器人

-填写机器人名称

-反向Websocket主机:0.0.0.0

反向Websocket端口:6199

反向 Websocket Token留空


八、配置连接器

回到SnowLuma Webui

-在节点配置中新建WS客户端

-目标URL ws://AstrBotDocker网段:6199/ws

-授权Token可留空

-检查WS客户端连接


至此部署完成

之后可以按需配置模型,插件,skill等等

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注