Skip to content

Docker部署

神代綺凛 edited this page Sep 7, 2024 · 15 revisions

安装 Docker

已有的直接跳过

curl -fLsS https://get.docker.com/ | sh

使用 Docker Compose 部署本项目

请自行安装 docker compose

# 创建一个 cqps 目录并在其中创建 data 目录,这里直接 -p 一次性解决
mkdir -p cqps/data
cd cqps

# 下载 Docker Compose 配置,国内可以在链接前加上 https://mirror.ghproxy.com/ 加速,后面同理
wget https://raw.githubusercontent.com/Tsuk1ko/cq-picsearcher-bot/master/docker-compose.yml
# 下载机器人配置文件并重命名为 config.jsonc,请按 wiki 中的配置文件说明改好配置
wget https://raw.githubusercontent.com/Tsuk1ko/cq-picsearcher-bot/master/config.default.jsonc -O config.jsonc

Note

为了减少不必要的麻烦,docker-compose.yml 中配置了容器使用 host 网络模式运行,但只有 linux 支持该模式

若使用 linux 以外的系统或使用其他网络模式,请注意修改部分网络相关的配置:

  • 修改机器人配置 cqws.hosthost.docker.internal 以连接宿主机
  • 修改 go-cqhttp 配置中的正向WS监听地址IP部分为 0.0.0.0 以允许从容器连接
  • 其他与网络相关的机器人配置,例如 setu

确认配置无误后使用下方命令运行

# 启动
docker-compose up -d

# 停止
docker-compose down

# 重启
docker-compose restart

# 查看日志
docker-compose logs

在使用过程中修改配置后无需重启,可以使用配置热重载指令

更新

检查更新

程序默认每隔一天检查一次更新,发现新版本会私聊 bot.admin 通知,可以修改 bot.checkUpdate 配置项来更改检查频率或关闭自动检查更新

检查更新仅作检查,更新操作仍然需要手动完成

手动更新

docker-compose pull
docker-compose up -d

Tips

若客户端和 cqps 有任何一方使用了 docker,都需要注意客户端和机器人之间的网络通信和文件访问问题

网络通信的问题在上面已经提过,可自行举一反三

部分功能可能需要客户端读取 cpqs 产生的文件,例如 bot.bilibili.dynamicImgPreDl,则需要配置 volume 映射使客户端能够访问 cpqs 中的 data/cache 目录