# Yunzai **Repository Path**: yi0086/yunzai ## Basic Information - **Project Name**: Yunzai - **Description**: yunzai-bot的docker运行环境快速部署 - **Primary Language**: Docker - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 1 - **Created**: 2023-06-05 - **Last Updated**: 2025-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yunzai-env简介 [![star](https://gitee.com/yi0086/yunzai/badge/star.svg?theme=dark)](https://gitee.com/yi0086/yunzai/stargazers)[![fork](https://gitee.com/yi0086/yunzai/badge/fork.svg?theme=dark)](https://gitee.com/yi0086/yunzai/members) 从Yunzai-Bot内置的Docker魔改而来,感谢乐神,喵喵,sirly以及其他所有为Yunzai-Bot做共享的大佬,解决很多小白会遇到的麻烦,优化映射目录,简化操作 本人使用的是群晖Nas搭建,可以提供在群晖Nas上部署的教学和帮助,其他可以装docker的x86的linux均可使用,后面会出在Windows上启用docker并搭建Yunzai的教程 ## yunzai-env使用方法 1. 使用git的请在要保存Yunzai-Bot的地方执行下面指令 ***(建议)*** ```sh git clone https://gitee.com/yi0086/yunzai ./Yunzai && cd Yunzai && ./run.sh ``` 不使用git的请把该仓库打包下载后解压到要保存Yunzai-Bot的地方执行下面指令 ```sh cd Yunzai && ./run.sh ``` 2. 希望自行构建的输入 **```1```** 并回车,希望使用dockerhub镜像的输入 **```2```** 并回车,脚本将会根据你的选项创建好容器 3. 容器创建完成后会根据情况安装Miao-Yunzai,miao-plugin,Yunzai所需依赖,py-plugin的poetry环境,输入 **```3```** 并回车查看安装初始化进度,直到出现下面情况时即为初始化完成 ```log 0|Miao-Yunzai | 欢迎使用Miao-Yunzai v3.1.0 0|Miao-Yunzai | 请按提示输入完成QQ配置 0|Miao-Yunzai | ? 请输入机器人QQ号(建议用小号): 0|Miao-Yunzai | ``` 4. 使用 ```Ctrl + C``` 退出日志界面,在菜单内输入 **```4```** 并回车进入容器内,使用下面指令切换至Yunzai-Bot所在位置,停止已经运行的Yunzai进程(避免重复运行),并启动前台验证进程,验证过程有问题请加群询问 ```sh cd Yunzai && pnpm run stop && pnpm run login ``` 5. 通过验证后建议立刻重启容器,容器启动时会自动备份Yunzai/data/icqq至Yunzai/icqq避免token假死被Yunzai误删后需要重新验证.若被误删,只需再次重启容器,容器启动时会复制备份好的文件夹回原位置 (使用oicq的Yunzai是Yunzai/data/机器人的qq号,暂不支持,请手动备份) 6. 使用 ```Ctrl + C``` 结束前台进程,输入 ```pnpm start``` 并回车启动后台进程,输入 ```exit``` 并回车退出容器 ## 注意事项 1. 第一次进入会按照绝大多数 [插件索引](https://gitee.com/yhArcadia/Yunzai-Bot-plugins-index) 内插件所需依赖,请耐心等待安装完成,后续安装插件只需自行使用git拉取到plugins下重启bot即可,无需进入容器安装依赖 如果有未能覆盖到的插件依赖,请自行通过 ```./run.sh``` 进入容器后按照插件需求安装依赖,或在./Docker/docker-entrypoint.sh第47行中添加后重启构建镜像,有条件的请qq提醒我或者提issue/pr 2. 默认安装Miao-Yunzai和miao-plugin,需要安装其他版本云崽请先手动拉取到本文件夹的 ```Yunzai``` 下,需要迁入云崽请把原bot除 ```node_modules``` 所有文件复制到本文件夹的 ```Yunzai``` 下,该文件夹初始不存在,运行run.sh后会自动生成,如果需要自动拉取,请保持 ```Yunzai``` 文件夹为空(隐藏文件/文件夹也不行),否则将无法正常拉取 3. 由于auto-plugin已经自带了自动更新功能,这里就没做了,有这个需求的请自行安装[auto-plugin](https://gitee.com/Nwflower/auto-plugin) 4. 已经预留了guoba-plugin的50831端口,默认映射到物理机的50831端口,如果物理机的该端口被占用,请修改 ```.env``` 中第1行 ```GUOBA_PORT``` 的值,范围1-65535,如果使用80端口可以免输端口号 使用 ```#锅巴登录``` 时,bot返回链接是docker内部的,只有在docker内部和外部同样端口且开放至公网的时候才能用直接访问,否则需要将链接中的ip改为物理机ip,端口改为映射的端口才能访问,强烈建议第一次进入锅巴web后台后在 ```插件管理/guoba-plugin/查看插件详情/配置``` 下进行配置,将 ```服务器地址``` 下的 ```auto``` 改为 ```你的服务器ip或域名:映射出来的端口``` 并将 ```拼接端口号``` 关掉,如果内外端口一致可以仅修改 ```服务器地址``` 为 ```你的服务器ip或域名``` ,下次 ```#锅巴登录``` 的时候直接通过返回的 ```自定义地址``` 进入即可,无需手动修改 5. 如果需要多开,请修改```.env```以修改BOT容器名称和映射端口号避免冲突,容器名称重复会导致原来的容器被顶掉,端口被占用 ## Docker的安装 - ### 一般Linux安装Docker(社区版) 1. 一键脚本 ```sh sudo wget -qO- https://get.docker.com/ | bash ``` 如果上面的不行则执行下面两句 ```sh curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun ``` 3. 检测是否安装成功 ```sh docker --version ``` 有类似提示则为安装成功 ```log Docker version 18.06.1-ce, build e68fc7a ``` - ### Windows安装Docker Desktop 注意:Docker是由linux内核驱动的,Windows默认不能使用Docker,需要在Windows上使用Docker则需要先由Hyper-V/wsl模拟一个linux环境,再到虚拟的linux环境里运行,因此需要你的Windows版本支持这个功能 系统要求:Windows 10 64bit,专业版、企业版或教育版(1607周年更新版,build 14393或更新) BIOS要开启虚拟化,一般会自动开启 CPU SLAT 支持 至少4GB内存 1. 启用wsl,在下面位置找到 ```适用于Linux的Windows子系统``` 如果没有此项则勾选 ```Hype-V``` ,把勾勾上,完成后安装提示重启电脑 ``` 控制面板/程序/程序和功能/启用或关闭Windows功能 ``` 2. 下载并安装 [Docker Desktop](https://hub.docker.com/editions/community/docker-ce-desktop-windows) (docker hub最近被屏蔽了,没有魔法的使用 [百度网盘](https://pan.baidu.com/s/15ZbMJrtpptMPsvjOxt3HVQ?pwd=ipw2) [阿里云盘](https://www.aliyundrive.com/s/5TWM9Ek2gvQ) ),docker desktop启动后需要等待wsl启动完成 3. 如果安装成功,在Windows命令行中输入 ```docker --version``` 并回车后将会返回类似下面情况 ```log Docker version 24.0.2, build cb74dfc ``` ## 交流和反馈 QQ群 [931286774](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DW9Dqv2dsRptsp8EBnKbhCcZf5Fa8C50&authKey=2JF%2FpudlBHPJwG4uHJkGRpjnsotaiYAHZ%2BR9VM9Yg5NPGRlBapOsASpFuHsPURRS&noverify=0&group_code=931286774)