Skip to content

网络配置详解

LangBot 和部分消息平台均可采用 Docker 部署,以下是四种情况下的网络配置详解。

LangBot 和消息平台均运行在 Docker 容器中

如果消息平台(NapCat/Lagrange)和 LangBot 均使用 Docker 启动,那么你需要配置 Docker 的网络连接。

新建一个网络:

bash
docker network create langbot-network

在 LangBot 目录的 docker-compose.yaml 文件中添加网络配置(添加到 services.langbot 字段下,并在 networks 字段下添加 langbot-network 网络配置):

yaml
services:
  langbot:
    ...
    networks:
      - langbot-network
    ...

networks:
  langbot-network:
    driver: bridge

然后在消息平台的 docker-compose.yaml 文件中添加同样的网络配置(如果是直接 docker run 命令启动的,请在启动命令中添加 --network langbot-network)。接着在消息平台配置文件中,把 WS 反向连接地址中的 IP 地址修改为 langbot(例如:ws://langbot:2280/ws)。

重启两个容器。

仅 LangBot 运行在 Docker 容器中

当只有 LangBot 采用 Docker 部署时,默认已经映射 2280 到 2290 端口到容器外。此时 LangBot 只能作为 WebSocket 服务器,接受消息平台作为客户端连接。

请把消息平台设置为 ReverseWebSocket(称为 反向 wsWebSocket 客户端),端口对应 LangBot 的 aiocqhttp 适配器启用的端口,连接本地 127.0.0.1 即可。

LangBot 和消息平台都不使用 Docker 部署

根据文档配置消息平台和 LangBot 设置,两者端口设置为统一的不被占用的即可,都连接本地 127.0.0.1。

仅消息平台运行在 Docker 容器中(不建议)

WARNING

仅支持 Linux ,或其他支持 host 模式 docker 网络的系统。

目前 LangBot 的 aiocqhttp 适配器仅支持 反向 WebSocket 连接,当消息平台运行在 Docker 容器中而 LangBot 直接运行在宿主机时,必须由 消息平台作为客户端连接 LangBot。此时只能将 消息平台的 network 设置为 host 模式,再设置其 WS 连接地址为 127.0.0.1,端口对应 LangBot 的 aiocqhttp 适配器启用的端口。