【Bncr】Linux/群晖搭建无界Docker和部分报错解决教程

注意: 本文最后更新于 123 天前,内容可能已不再准确,请酌情参考。

【Bncr】Linux/群晖搭建无界Docker和部分报错解决教程

前言

无界更新了3.0也一直想着玩玩,所以这才有了这篇教程,主要是写了一下无界的基础拉取镜像创建,还有小小的报错解决。因为网上教程不多,而且大多数都是直接复制了官方的安装文档,可能对于一些小白来说还是不够详细,所以细致的讲一下。

(无界)Bncr介绍

项目介绍

官方简介

Bncr 是一个开箱即用的Nodejs Chat RoBot(会话式机器人)框架。它基于OOP函数响应式编程,具有占用小、响应快、开发易等特点,允许开发者创建高度可测试、可扩展、松散耦合且易于维护的应用程序。本项目架构深受Koishi与sillyGirl的启发;

特性

  • 多平台多账户接入系统 : 2个qq/3个wx/4个tg? so easy!;
  • 基于TypeScritp OOP函数响应式编程 :源码仅1.5M,占用小,响应快,开发易 ;
  • 极简的插件开发 : 系统高度封装,提供简便人性化的系统方法,随心所欲开发插件;
  • 异步同步执行自由控制 : 基于nodejs async/await/Promise特性,你可以自由控制异步同步(阻塞非阻塞运行);
  • 不仅仅是Chat RoBot : 原生支持npm/yarn,开发潜力无穷大,如果你愿意,可以在本框架上搭建网站、图片服务器、资源共享平台、并发请求等服务,在JavaScript上能做到的事情在这里都将被实现.

获取token

  1. 首先你的网络环境得允许,因为这个需要到tg里,如果你不熟悉tg,或者网络环境不允许,建议放弃。。。
  2. 我们在tg内搜索red_Lights_Districts_Bot
    red_Lights_Districts_Bot
  3. 然后我们打开点击开始,输入下面的命令进行获取token。token我们要存下来。就是token: 123456:123456后面的参数
    20240721213117003649

无界搭建(Linux-docker)

  1. 首先用ssh工具连接你的服务器,不管是本地机还是云服务器,先连接才能办事。
    20240721210455739989
  2. 我们用命令创建一个无界的文件夹(最好是在root目录下噢)
    mkdir /root/BncrData
20240721211908448786
  1. 然后输入下面的命令,进行bncrDocker的镜像拉取创建(如果你拉取不动,那请参考下面的搭建docker代理的文章自行搭建。),关于下面的命令解释
    • -v /root/BncrData:/bncr/BncrData \意思就是把/root/BncrData挂载到容器内的/bncr/BncrData目录,数据就可以持久保存在你的服务器上面,而不会遇到删了容器数据丢失
    • -p 9090:9090 \解释一下就是:后面9090是容器内端口,每个容器是独立的不用太在意,这是作者打包docker镜像的时候设置的。一般不要改动。前面的9090就是你服务器的端口,相当于映射到了容器内的9090端口。前面的9090你可以改动,只要不与你其他的程序端口冲突就行。
    • 其他的就没什么好解释了。name后面就是容器的名称,hostname就是主机名称,其他的两个log就是日志的大小。restart on-failure这个就是设定的容器失败重启次数。
      docker run -dit \
      -v /root/BncrData:/bncr/BncrData \
      -p 9090:9090 \
      --name bncr \
      --hostname bncr \
      --restart on-failure:5 \
      --log-opt max-size=5m \
      --log-opt max-file=3 \
      anmour/bncr && docker attach bncr
20240721211952186186
20240701225041425853
【Docker加速】利用cloudflare创建Docker加速拉取镜像
注意: 本文最后更新于 123 天前,内容可能已不再准确,请酌情参考。前言 因为某些原因,Docker拉取镜像失败了,所以在此教大家利用cloudflare来搭建docekr加速……
  1. 因为上面的命令尾巴有进入容器交互的命令,所以你拉取完毕后就会直接出现他内置的脚本运行
    20240721212049078982
  2. 然后就会出现下图所示,让你自定义鉴权url,(关于详细的鉴权URL会在本文的末尾有具体介绍。)这里我们直接回车即可。
    20240721212200365952
  3. 接着让你输入获取到的token,我们把一开始从bot内获取到的token填入进去就行了。(注意是后面的参数)
    20240721213220279436
  4. 系统日志,我们默认开
    20240721213244093997
  5. 控制台的消息日志等级,我们也选择第一个
    20240721213316470865
  6. 开发者模式,看你,如果你对代码很熟悉那就开,对代码不熟悉怕后续有改动后怕改不回去,那就关即可
    20240721213402737404
  7. 上述完毕后无界就启动成功了
    20240721213436857016

无界搭建(NAS-Docker)

  1. 既然你都玩NAS了相关的Docker套件就不比多说了。首先我们在你需要存放无界的文件夹内创建一个BncrData文件夹(可以自定义不过后续也要自己修改自定义的),记住好路径
    20240721235105803551
  2. 然后我们去NAS的docker套件里的注册表右上角搜索anmour/bncr,出来的镜像我们右键下载(如果下载不行,可以自行搭建docekr加速
    20240721235208271795
    20240721235223641273

    20240701225041425853
    【Docker加速】利用cloudflare创建Docker加速拉取镜像
    注意: 本文最后更新于 123 天前,内容可能已不再准确,请酌情参考。前言 因为某些原因,Docker拉取镜像失败了,所以在此教大家利用cloudflare来搭建docekr加速……
  3. 我们去容器,选择新增映像选择刚才下载的无界镜像,名称自定义或者用bncr,下面的自动重新启动打勾
    20240721235442769996
  4. 接着默认的9090端口前面是空的,填写要映射出来的端口号。建议9090不占用的话。下面的存储空间设置,前面的填写你一开始创建文件夹的路径,比如我是在sata文件夹内创建的BncrData,选择对应的路径就行。后面的直接复制:/bncr/BncrData 填入进去。往下拉环境这里添加这四个。
    /bncr/BncrData
    restart on-failure 5
    log-opt max-size 5m
    log-opt max-file 3
20240721235533147764
20240721235812944113
  1. 确认一遍,完后完成
    20240721235829217715
  2. 接着在容器里就会看到bncr的容器了。我们右键bncr,打开终端机,如果你太慢了可能就是空白的,回车就行了。
    20240721235943293294
    20240721235955740221

    以下为了节省步骤就直接用了上面Linux搭建的图,内容是一样的。
  3. 接着让你输入获取到的token,我们把一开始从bot内获取到的token填入进去就行了。(注意是后面的参数)
    20240721213220279436
  4. 系统日志,我们默认开
    20240721213244093997
  5. 控制台的消息日志等级,我们也选择第一个
    20240721213316470865
  6. 开发者模式,看你,如果你对代码很熟悉那就开,对代码不熟悉怕后续有改动后怕改不回去,那就关即可
    20240721213402737404
  7. 上述完毕后无界就启动成功了
    20240721213436857016

无界web登录并配置

  1. 我们浏览器输入你服务器的IP:搭建无界的端口号,就可以进入无界的web页面,首次进入后我们要点击初始化帐号,不点击也可以,你也可以跳过直接下一步去命令输入,但是对于新人还是要说明白点。
    20240721213600971527
  2. 官方的web页面会告诉你如何操作。
    20240721213719589726
  3. 我们的ssh终端没有退出也没有关闭的话,就直接输入官方提示的命令设置账号和密码(密码最低6位切记)即可,如果你前面已经退出了交互模式,那你需要用命令:docker attach bncr 进入交互模式再用下面命令(注意这里的bncr是容器名称,如果你有自定义那记得替换
    set system name 你的账号
    set system password 你的密码
20240721213811250483
  1. 刷新web页面,就可以用你设置的账号和密码进行登录
    20240721214019531852
  2. 登录完毕后就是如下页面
    20240721214108770340
  3. 点击左边插件市场就可以自己下载插件来玩了(如果插件市场不行,请看下面的报错解决
    20240721214212052490

关于无界的一些报错

鉴权异常

  1. 如果你遇到鉴权中心未通过,如下图所示,那不必担心,我们已经搭建好了无界,所以我们直接进入无界的web页面
    20240721214301698767
  2. 我们找到用户配置,找到鉴权url,把默认的这个删除替换即可。然后重启bncr: docker restart bncr
    • 关于鉴权URL,我们可以通过https://bncr.dsdog.tk/ 这个地址查看无界当前的鉴权url哪些可以用,例如点击烟雨的,会跳转地址,把地址尾巴的/admin后去掉(包括去掉/admin)就是你需要的鉴权地址替换即可。也可以使用下面列举的url来替换(不确定未来可用)。
      http://bncr.619030.xyz:2082
      http://future.free.hr:2082
      http://wj.yanyuwangluo.cn
      https://rebncr.dsdog.tk
20240721215135353389

插件市场报错

  1. 如果你遇到connect ECONNREFUSED 0.0.0.0:443报错,这就是你的dns问题。你需要更改你的dns
    20240721215355149279
  2. 例如我这里是Openwrt,所以我需要更改OpenwrtDNS来解决这类问题。找到Openwrt的网络--接口--wan--编辑--高级设置--取消自动获取dns,自定义内添加8.8.8.8这是谷歌的,然后还添加一个国内的,114.114.114.114注意因为你的DNS改动,虽然能解决你的刚需问题,但是可能也会影响你的网络环境导致你打开一些网站的页面出现问题,建议寻找自己网络合适的DNS。),这里我只是示例了我的Openwrt解决方案,可能你是爱快也可能你是云服务器,大同小异,就是改DNS即可解决
    20240721215816382316

其他命令

  • 退出交互模式:Ctrl+P+Q
  • 通用更新命令
    docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    -c --run-once \
    bncr
  • 如果上述更新不行,换一下
    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower:1.7.1 -c --run-once  bncr
  • 进入交互模式(群晖推荐自行右键进入):
    docker attach bncr
  • 查看日志
    docker logs bncr
  • 进入容器命令行
    docker exec -it bncr /bin/sh
阅读剩余
THE END