基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

前言

之前记录的京东容器教程由于某种原因已经删除,但很多网友求部署nevinee的jd:v4-bot容器步骤,我这里只记录我操作的过程,对镜像或容器内容不发表任何意见。

一.部署容器

1.下载镜像

首先在群晖Docker中的注册表搜索nevinee,双击下载 nevinee/jd镜像,下载选择 v4-bot标签,然后等待下载完成。附上群晖导入镜像:本地下载百度网盘(密码:rhn9){注:下载导入镜像后上传到群晖,打开docker映像选项卡选择新增-从文件添加选择上传的镜像即可}

image-20210426134217749

image-20210426134328123

2.创建容器

首先在群晖打开 File Station在任意位置建立一个主文件夹并在此文件夹下新建 ownlogconfig等三个文件夹,并记录文件夹所在位置。

例如我建立的位置是在 docker文件夹下新建 jd_shell文件夹,并在此文件夹依次建立 ownlogconfig文件夹,此时路径依次有 /docker/jd_shell/own/docker/jd_shell/log/docker/jd_shell/config三个路径。

虽然原作者提供了docker-compose.yaml,但对于群晖来说还得进入SSH下操作,略显不便。我这里把YAML内容转化成群晖可直接导入的JSON内容方便操作。下载json文件修改,注意下图红色圈示自行替换成上步创建位置。
原作者的docker-compose.yaml(右击另存为下载)

群晖jd_v4_bot.syno.json(右击另存为下载)

image-20210427193322114

编辑好json后,上传到群晖,打开Docker,选择容器,设置,导入,选择上传的json位置,导入后容器创建成功,开启容器等待 config文件夹内生成所需文件不为空后关闭容器。

image-20210427194456033

image-20210427194603308

3.恢复面板

恢复面板有两种方法一种是使用一键脚本创建面板文件、一种是手动恢复面板文件。我实测了手动恢复没有问题。一键脚本可以自测,会把步骤也也写出。(修复面板随容器启动见博文常见问题)

1.自动恢复

下载一键脚本(解压密码:blog.vay1314.top),上传到上步创建的 config文件夹内,打开群晖容器终端,通过命令启动,输入 /bin/sh确定,运行命令 sh /jd/config/install_panel.sh即完成,就可打开 http://群晖IP:5678进入网页控制面板,如 http://群晖IP:5678无法进入网页控制面板,继续在容器终端,运行 jup命令更新脚本和加载面板。

image-20210427205157836

image-20210427205218272

20210429221325.jpg

2.手动恢复

下载面板文件 (解压密码:blog.vay1314.top),解压得到 panel文件夹和 diy.sh文件,上传到上步创建的 config文件夹内.

在群晖双击打开 config文件夹内的 config.sh文件,其中的 EnableJupDiyShell=""修改为 EnableJupDiyShell="true",并点击保存,就可打开 http://群晖IP:5678进入网页控制面板。

image-20210427202248757

http://群晖IP:5678无法进入网页控制面板,打开群晖容器终端,运行 jup命令更新脚本和加载面板。

image-20210427205157836

image-20210427205218272

image-20210427205301783

二.开启TG bot功能并配置

1.开启TG bot环境变量

首先停止容器,然后选择编辑容器,在环境变量选项卡中,找到如下图中的名称是 ENABLE_TG_BOT,将 false值改为 true,然后点击应用后,开启容器。

基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

2.获取配置TG 所需变量

访问 telegram 的 API申请网站(点击进入),输入TG的绑定手机号和验证码,点击登陆,选择创建的application种类为app安卓等。

基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

创建完毕后如下图所示的 api_idapi_hash,记录下来备用

基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

然后在TG中搜索查找 @BotFather,添加对话,发送 /newbot,然后看到提示依次发送为机器人命名的昵称、用户名。最后会收到返回的 HTTP API,记录下来备用。

基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

继续在TG中搜索查找 @userinfobot,添加对话,发送 /start,会回复你账号信息,其中的 id值,记录下来备用

然后在群晖打开 File Station,找到你之前创建的 config文件夹,双击打开其中的 bot.json文件,依次填入刚才记录的 idHTTP APIapi_idapi_hash四个值。

如需使用代理,将 "proxy": false中的false改成true,并配置下方的代理信息。

基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

修改完成后,点击保存。并先关闭容器,然后重新开启容器。

三.常见问题

1.如何更新镜像

1.重新拉取新镜像

在群晖Docker中的注册表重新搜索nevinee,双击下载 nevinee/jd镜像,下载选择 v4-bot标签,然后等待下载完成。
基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

2.停止容器
在容器界面选中容器,选择设置
中的停止,停止容器。
基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

3.清除容器
选中已经停止的容器,选择设置
中的清除
基于群晖部署nevinee JD-V4、配置bot及恢复面板且随容器启动

4.启动容器
然后重新在容器界面,启动容器即可。

这样在不丢失配置下更新新的镜像

2.面板随容器自启

上步恢复面板后,不能随容器自启,每次需要等待计划任务或手动运行 jup后,面板才能自启,稍显不便,正好镜像作者最近一次更新容器启动方式,使用了s6-overlay启动,这就方便加载脚本了。

(只在使用我提供的json创建容器并手动恢复的方法下测试成功,使用一键脚本恢复的面板需要自测)

自启脚本server下载地址

附上s6-overlay的开源地址

下载 server 解压文件并上传到与面板文件都在创建的 config文件夹内,打开容器的终端,按下图所示,进入终端输入以下命令

ln -s /jd/config/server /etc/cont-init.d/25-server

命令输入后使用命令 ls /etc/cont-init.d检查是否有25-server文件,如下图就为正常。现在就可以重启容器检查面板是否立即启动了。

image-20210427205157836

image-20210427205218272
请输入图片描述

原创文章,作者:VAY冬冬,如若转载,请注明出处:https://blog.vay1314.top/archives/196

(0)
VAY冬冬的头像VAY冬冬
上一篇 2021年4月26日
下一篇 2021年4月30日

相关推荐

0 0 投票数
文章评分
订阅评论
提醒
guest
286 评论
最旧
最新 最多投票
内联反馈
查看所有评论
路人

已成功安装,谢谢!

丁

你好 面板的压缩密码是多少?

丁

谢谢

DDD

在群里上传了个install_panel.js,tg群里下载的,可以一键安装!

nkxb1008

解密密码是什么呀

nkxb1008

滴!学生卡!打卡时间:上午6:36:43,请上车的乘客系好安全带~

二黑犬

面板的压缩密码是多少

cplus

- -!

cplus

请问解压密码是什么呢!@!!

he

你好,解压密码是多少

he

谢谢

marru

喔唷 厉害啦

卯兔

您好,大佬,我想入群,我想交流,另外问下面板解压密码,多谢您了。。

卯兔

您好,大佬,我想入群,我想交流,另外问下面板解压密码,多谢您了。。

卯兔

求加入TG群,Q群,是否可以?麻烦了、。

卯兔

加一个相关群也可以的。。。大佬!!!

卯兔

那个,我已经按照大佬的方法操作成功了,容器已经OK了,面板开始工作了,就是那个我想用消息推送,比如说用pushplus或者server酱,要在哪里配置?

卯兔

非常的感谢。大佬。。。无敌。。

卯兔

[secret] 那个,我已经按照大佬的方法操作成功了,容器已经OK了,面板开始工作了,就是那个我想用消息推送,比如说用pushplus或者server酱,要在哪里配置?
[/secret]

theboy

解压密码是多少啊

as2o3

已成功安装,谢谢!

as2o3

密码多少啊

tian9570

请问解密密码是什么

dxh

请问面板密码是多少

venpong

解压密码是多少?

venpong

解压密码是多少?

venpong

解压密码是多少?

dxh

更新/jd成功...

--------------------------------------------------------------

开始克隆仓库 git@jd_scripts_gitee:lxk0301/jd_scripts.git 到 /jd/scripts

Cloning into '/jd/scripts'...
Handshake: Repository more than 5 connections.
fatal: Could not read from remote repository.
大神,这个报错,会知道是什么原因嘛?今天ev大佬更新了镜像了,但是脚本无法更新

ted

大佬,密码系咩?

jay

群号是多少啊

ted

大佬,密码系咩?

zhaoy

按大佬的教程一键面板在op下的docker部署成功了,在群晖却怎么也打不开,cmd下提示面板已经启动,群晖ip:5678却进不去

zhaoy

按大佬的教程一键面板在op下的docker部署成功了,在群晖却怎么也打不开,cmd下提示面板已经启动,群晖ip:5678却进不去

zhaoy

按大佬的教程一键面板在op下的docker部署成功了,在群晖却怎么也打不开,cmd下提示面板已经启动,群晖ip:5678却进不去

zhaoy

[ 0 ]
网页终端已经启动了.

======================== 启动控制面板 ========================

[ 1 ]
控制面板已经启动了.

======================== 启动挂机程序 ========================

[]
config.sh中还未填入有效的Cookie,可能是首次部署容器,因此不启动挂机程序...

/jd/config/diy.sh执行完毕...

root@jd_v4_bot:/jd $ pm2 list
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 1 │ server │ fork │ 15 │ errored │ 0% │ 0b │
│ 0 │ ttyd │ fork │ 0 │ online │ 0% │ 16.7mb │
└────┴────────────────────┴──────────┴──────┴───────────┴─server显示errored,搞不明白,完全按教程操作

zhaoy

更新了下镜像又好了,谢谢大佬,不用虚拟op用dock套娃了

ted

新仔一枚,按大佬的设置,telegram会有通知比我?

ted

[secret] 有无相关教程?
[/secret]

dxh

镜像更新通知
Docker镜像的启动方式已从docker-entrypoint调整为s6-overlay,请更新镜像(无需更新配置文件),旧的镜像即将无法使用
-----------------------------------------------------------------------
大神,我明明昨天更新了镜像,并清除,还重启了,但是还是提示这个。

Vincent

估计都是来看密码的。。。。

南涧

求解压密码

疯狂的健健

```我要下载

jacky

这个不错

lulu

看一下密码

rastyu

请问解压码是多少啊?

F

看眼密码!

路人

你好 面板的压缩密码是多少?

错过

┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0 │ jd_crazy_joy_coin │ fork │ 0 │ online │ 0% │ 60.4mb │
│ 2 │ server │ fork │ 30 │ errored │ 0% │ 0b │
│ 1 │ ttyd │ fork │ 0 │ online │ 0% │ 16.7mb │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘有个错误这个怎么解决

错过

internal/modules/cjs/loader.js:883
throw err;
^

Error: Cannot find module '/jd/server.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js
:72:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}

错过

机器人发信息过去没有反应 怎么激活

卯兔

按照操作 2.面板随容器自启 内操作,提示和教程上相同,但是面板并没有随容器自启,仍需JUP,请问是哪里的问题?

卯兔

再次输入ln -s /jd/config/diy.sh /etc/cont-init.d/diy 则提示:
ln: failed to create symbolic link '/etc/cont-init.d/diy': File exists
再次输入ls /etc/cont-init.d 侧提示:
10-mkdir 20-jup 30-config 40-hangup 50-jbot 60-crond diy

卯兔

按照上面所述,从新操作了一遍,重启重启后,依旧无法正常启动,需要jup才可以。
部分提示:
[cont-init.d] 60-crond: executing...
crond[375]: crond (busybox 1.31.1) started, log level 8

[cont-init.d] 60-crond: ======================== 开始运行定时任务 ========================

[cont-init.d] 60-crond: exited 0.
[cont-init.d] server: executing...
控制面板还存在.
======================== 启动网页终端 ========================

/var/run/s6/etc/cont-init.d/server: line 48: pm2: command not found
/var/run/s6/etc/cont-init.d/server: line 49: pm2: command not found
网页终端已经启动了.

======================== 启动控制面板 ========================

/var/run/s6/etc/cont-init.d/server: line 73: pm2: command not found
/var/run/s6/etc/cont-init.d/server: line 74: pm2: command not found
控制面板已经启动了.

卯兔

root@91062d0cc0b1:/jd $ pm2 -v
4.5.6
root@91062d0cc0b1:/jd $

PM2也应该没有问题

卯兔

好的,多谢。。慢慢再找原因吧。

卯兔

感谢,持续跟进,目前来看还是自启。。提示如下
[cont-init.d] 60-crond: ======================== 开始运行定时任务 ========================

[cont-init.d] 60-crond: exited 0.
[cont-init.d] server: executing...
控制面板还存在.
======================== 启动网页终端 ========================

/var/run/s6/etc/cont-init.d/server: line 51: pm2: command not found
网页终端启动失败,但容器将继续启动...

======================== 启动控制面板 ========================

/var/run/s6/etc/cont-init.d/server: line 69: pm2: command not found
控制面板启动失败或控制面板已经启动了,容器将继续启动...

======================== 启动挂机程序 ========================

/var/run/s6/etc/cont-init.d/server: line 84: pm2: command not found
/var/run/s6/etc/cont-init.d/server: line 85: pm2: command not found
挂机程序已经启动了.

[cont-init.d] server: exited 0.
[cont-init.d] done.
[services.d] starting services

卯兔

PM我重新安装,更新,都还是那个提示。再找原因吧。

zegna

与你一样问题,解决了吗

Sakura

大佬你好,有几个问题想请教下:
1.jup一直卡在更新仓库,然后连接失败,镜像文件只有212m
2.非bot,是不是没有yml这个文件?我下的v4,手动在config下面新建了个docker-compose.yml,这样有用吗?

Sakura

我把文件夹和容器镜像全删了,下载了bot,按照你的步骤操作下来,目前还是停在jup,终端显示“开始更新仓库:/jd Fetching origin ”然后就没反应了。。。
我用的json导入,配置里加入了scripts

Sakura

本来scripts里有个.git文件,20kb,我删掉了,运行jup scripts 卡在 Cloning into '/jd/scripts'...
之后我把群辉文件夹里文件全删了,容器删了,镜像删了,重新部署一遍,还是停在jup这里,二十分钟没有反应,ctrlc运行jupscripts,也和之前一样,这次.git都不出来了。。。反复jupscripts还出现了一次Handshake: Repository more than 5 connections.
fatal: Could not read from remote repository.
在等一会在操作就没有这个错误了,但还是没反应

Sakura

我用的ssh进去操作的,没有提示报错,就停在那里,最多等过1小时吧,群辉容器日志里有个“[cont-init.d] 20-jup: Fetching origin
[cont-init.d] 20-jup: Warning: Permanently added the ECDSA host key for IP address '180.97.125.228' to the list of known hosts.”。
还有个两个问题想请教下:
1.windows用映射网络启动器的方式连接群辉文件夹直接上传文件,应该和群辉系统上传一样的吧?我复制面板文件用群辉上传就很慢,windows里操作非常快,这个应该没关系吧。
2.群辉docker有缓存之类的概念吗?我保存了以前scripts中文件,复制到现在scripts中,删除了不需要的部分脚本,运行jtask 发现“当前scripts目录下有以下脚本可以运行”中还有被删掉的脚本,清除容器也还有,有些奇怪,因为现在容器有问题,我只能手动jtask一个个脚本,jtaskrunall会卡在部分脚本

Sakura

好的,感谢大佬,我再试试不同网络环境吧,我这里是PPPoE上网,不知道有没有关系。。。

xin

jup之后面板怎么也调试不出来怎么办

xin

删了容器照着你步骤再来了两次还是不行
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
root@jd_v4_bot:/jd $ pm2 -v

xin

手动,一键都试了一下,第一次安装时成功的,后来重启一次容器就没了,死活打不开

bbt

老铁,你最后解决了么?我的也是面板起不来

xin

root@jd_v4_bot:/jd $ jup
/jd/config/config.sh: line 169: unexpected EOF while looking for matching `"'
/jd/config/config.sh: line 173: syntax error: unexpected end of file

--------------------------------------------------------------

系统时间:2021-05-11 09:28:30

脚本根目录:/jd

jd_scripts目录:/jd/scripts

own脚本目录:/jd/own

--------------------------------------------------------------

开始更新仓库:/jd

Fetching origin
HEAD is now at dacaeac 兼容六位数的cron识别,自动去掉第一位。
Already up to date.

更新/jd成功...

--------------------------------------------------------------

开始更新仓库:/jd/scripts

Fetching origin
HEAD is now at 32138892 jd_club_lottery.js
Already up to date.

更新/jd/scripts成功...

检测环境变量清单文件 /jd/scripts/githubAction.md 是否有变化...

/jd/scripts/githubAction.md 没有变化...

xin

就这么多,没有面板日志跳出来

错过

脚本就能跑12个账号怎么破

错过

count_user_sum () {
for ((i=1; i <= {SUM:-((3 * 4))}; i++)); do local tmp1=Cookie$i local tmp2=${!tmp1} [[ $tmp2 ]] && user_sum=$i || break done 这里改吗

错过

怎么写 能具体说下 PY是真不懂呀

MMM

双容器
第一个容器jd按照教程 一切正常
第二个容器jd1把server 放进去 重启之后 docker logs -f jd1 看到日志报错,不能随系统重启。错误命令:
[cont-init.d] server: executing...
foreground: warning: unable to spawn /var/run/s6/etc/cont-init.d/server: No such file or directory。
但是进容器内用 ls /etc/cont-init.d 显示有server的文件。请问如何解决?
第二个容器jd1 用jup命令是可以打开控制面板的。

flash023

请问面板的密码是什么

flash023

多谢博主的回复,我是说进控制面板让输入用户名和密码,这个输入什么呢,我也没设置啊

flash023

多谢博主

个别人

我看最后一个方法是s60的init.d目录里加如启动面板的文件,看了s60的github没有看明白,在该目录下多个文件的启动顺序是怎么样的?是按照数字顺序执行么?想在2o之后,30-config前启动一个文件,是不是将文件名命名25-xxx这样就可以了》

Sakura

我现在启动容器时虽然还是停在jup,但是不影响ssh进去操作,发现个问题:
之前在启动时,可以在容器日志中看到挂机程序已启动,每两秒扫描一次crontab这些,现在没了,我改了crontab文件,日志也不提示已检测到文件变更之类的,手动hangup也用。我现在想把启动时的jup停掉,能改吗?

Sakura

大佬你好,我前几天那个jup卡主的问题不是没解决么,看了下日志发现在jup之后两小时,输出了日志:
[cont-init.d] 20-jup: Fetching origin
[cont-init.d] 20-jup: client_loop: send disconnect: Broken pipe

[cont-init.d] 20-jup: fatal: the remote end hung up unexpectedly
[cont-init.d] 20-jup: fatal: protocol error: bad pack header
[cont-init.d] 20-jup: error: Could not fetch origin
[cont-init.d] 20-jup: HEAD is now at 3b82a06 jd_scritps项目去掉UN_SUBSCRIBES变量,删除相关内容。
[cont-init.d] 20-jup: client_loop: send disconnect: Broken pipe

[cont-init.d] 20-jup: fatal: the remote end hung up unexpectedly
[cont-init.d] 20-jup: fatal: protocol error: bad pack header
[cont-init.d] 20-jup: 更新/jd失败,请检查原因...

在这期间crontab改了,也没有用,要等到日志里输出:

[cont-init.d] 60-crond: ======================== 开始运行定时任务 ========================
[cont-init.d] 60-crond: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] ======================== 启动定时任务自动刷新程序 ========================
[services.d] 每2秒检测一次/jd/config/crontab.list是否发生变化,如发生变化则立即刷新定时任务。

才开始真正的挂机。

问题是每次重启容器,他就自动jup啊,要等两小时。。。我就想能不能停止这个自动jup|´・ω・)ノ

Sakura

还有个小问题,docker-compose.yml这个文件不再镜像里,是需要手动新建吗?放在config下么,我没有这个文件有关系吗

Sakura

我在根目录下查找了下,这么多同名文件,是删掉他们吗?
/volume1/@docker/aufs/diff/7ef3da73f68073b4be67d08c2bdf97737f972b910af739673f75518e68bbef54/jd/s6-overlay/etc/cont-init.d/20-jup
/volume1/@docker/aufs/diff/7f85ea11addf6db022413a51f8f34c423db98cbf93122a7b214db3813e246e67/jd/s6-overlay/etc/cont-init.d/20-jup
/volume1/@docker/aufs/diff/3fd42698003ba6122893fa32f371ff122ee74c27c1923bdc81e1bcf52e86b81f/jd/s6-overlay/etc/cont-init.d/20-jup
/volume1/@docker/aufs/diff/ae52f8ca40517982e8c44ef811814280df571351698d13f77a65abacb4ab8261/jd/s6-overlay/etc/cont-init.d/20-jup
/volume1/@docker/aufs/mnt/7f85ea11addf6db022413a51f8f34c423db98cbf93122a7b214db3813e246e67/jd/s6-overlay/etc/cont-init.d/20-jup

wang

谢谢大佬!

wang

话说,做到最后一步了,还是打不开面板

wang

搞定了,用一键恢复的面板打不开,用手动的能打开,最后想问一句,这个要添加库吗?看别人脚本好像90多个 ::aru:knife::

ll

自启动那里下载的文件是serve,命令复制的是25-server
其他都成功了,感谢大佬的教程

ll

明白了,谢谢大佬指点,我第一次复制了命令看没反应,以为是文件名弄错了,现在重新再弄一次。 ::aru:shy::

Tony

大佬,安装您的教程设置完成,现在就一直提醒 您未提供telegram机器人推送所需的TG_BOT_TOKEN和TG_USER_ID,取消telegram推送消息通知

路人甲

大佬。这个可以bot交互吗

路人甲

谢谢,大佬,不知道是不是bot.json信息填入错误,只能收到TG推送,不能交互查询

路人甲

大佬,bot.json 教程有吗?我安装文件里的内容,全部填写,不生效。不知道哪里出错了。

路人甲

您未提供telegram机器人推送所需的TG_BOT_TOKEN和TG_USER_ID,取消telegram推送消息通知

路人甲

意思是我设置了bot.json,还是提示这个。

alodaner

冬冬大佬,希望出一个甲骨文vps 端 V4-bot 带面板的教程。折腾了很久没有成功。

alodaner

e大关门了,😢

wang

大佬,能分享下映像吗?搜不到了

菜菜

大佬,导入josn文件,创建docker
卡在更新仓库,昨晚还可以搞好,但是运行不正常
打算重装来着

路人

老大,能出 一期青龙吗?最近比较火,谢谢!

阿毅

青龙是哪个大神写对的,有啥好玩的地方

阿毅

2.0版本不知道怎么拉库,装上了只有3个定时任务,群还加不了~~~~

liyu

老大,你还能拉这个lxk0301的库吗?我这边提示更新scripts失败