🗡🔨
This commit is contained in:
parent
48b4305fa4
commit
8b4f580398
@ -79,9 +79,9 @@ set_default_extra(){
|
||||
CollectedRepo=${CollectedRepo:-"4"}
|
||||
sed -i "s/CollectedRepo=(4)/CollectedRepo=(${CollectedRepo})/g" $extra_shell_path
|
||||
sed -i "s/OtherRepo=()/OtherRepo=(${OtherRepo})/g" $extra_shell_path
|
||||
echo -e "Ninja\n### (1)默认启动并自动更新,未运行成功将强制重装\n### (2)!!!未修改容器映射的请勿运行,否则会出现青龙打不开或者设备死机等不良后果,映射参考 https://github.com/MoonBegonia/ninja#%E5%AE%B9%E5%99%A8%E5%86%85"
|
||||
read -p "Ninja="up" ##up为运行,down为不运行 输入您的设置(默认运行) up/down:" Ninja
|
||||
sed -i "s/\"up\"/\"${Ninja}\"/" $extra_shell_path
|
||||
echo -e "Ninja\n###(1)默认启动并自动更新\n###(2)!!!未修改容器映射的请勿运行,否则会出现青龙打不开或者设备死机等不良后果,映射参考 https://github.com/MoonBegonia/ninja#%E5%AE%B9%E5%99%A8%E5%86%85"
|
||||
read -p "Ninja="up" ## up为运行,down为不运行,请输入您的设置(默认运行) up/down:" Ninja
|
||||
sed -i "s/Ninja=\"up\"/Ninja=\"${Ninja}\"/" $extra_shell_path
|
||||
}
|
||||
# 将 ql extra 添加到定时任务
|
||||
add_ql_extra(){
|
||||
|
||||
@ -114,9 +114,9 @@ set_default_extra(){
|
||||
CollectedRepo=${CollectedRepo:-"4"}
|
||||
sed -i "s/CollectedRepo=(4)/CollectedRepo=(${CollectedRepo})/g" $extra_shell_path
|
||||
sed -i "s/OtherRepo=()/OtherRepo=(${OtherRepo})/g" $extra_shell_path
|
||||
echo -e "Ninja\n### (1)默认启动并自动更新,未运行成功将强制重装\n### (2)!!!未修改容器映射的请勿运行,否则会出现青龙打不开或者设备死机等不良后果,映射参考 https://github.com/MoonBegonia/ninja#%E5%AE%B9%E5%99%A8%E5%86%85"
|
||||
read -p "Ninja="up" ##up为运行,down为不运行 输入您的设置(默认运行) up/down:" Ninja
|
||||
sed -i "s/\"up\"/\"${Ninja}\"/" $extra_shell_path
|
||||
echo -e "Ninja\n###(1)默认启动并自动更新\n###(2)!!!未修改容器映射的请勿运行,否则会出现青龙打不开或者设备死机等不良后果,映射参考 https://github.com/MoonBegonia/ninja#%E5%AE%B9%E5%99%A8%E5%86%85"
|
||||
read -p "Ninja="up" ## up为运行,down为不运行,请输入您的设置(默认运行) up/down:" Ninja
|
||||
sed -i "s/Ninja=\"up\"/Ninja=\"${Ninja}\"/" $extra_shell_path
|
||||
}
|
||||
# 将 ql extra 添加到定时任务
|
||||
add_ql_extra(){
|
||||
|
||||
163
Scripts/sh/ql.sh
163
Scripts/sh/ql.sh
@ -27,6 +27,7 @@ PULL_IMAGE=true
|
||||
HAS_CONTAINER=false
|
||||
DEL_CONTAINER=true
|
||||
INSTALL_WATCH=false
|
||||
INSTALL_NINJA=true
|
||||
ENABLE_WEB_PANEL=true
|
||||
ENABLE_HANGUP=true
|
||||
OLD_IMAGE_ID=""
|
||||
@ -149,6 +150,9 @@ echo -n -e "\e[36m输入您的选择->\e[0m"
|
||||
read net
|
||||
if [ "$net" = "2" ]; then
|
||||
NETWORK="bridge"
|
||||
CHANGE_NETWORK="--network $NETWORK"
|
||||
else
|
||||
CHANGE_NETWORK="--network $NETWORK"
|
||||
fi
|
||||
|
||||
inp "是否在启动容器时自动启动挂机程序:\n1) 开启[默认]\n2) 关闭"
|
||||
@ -165,9 +169,46 @@ if [ "$pannel" = "2" ]; then
|
||||
ENABLE_WEB_PANNEL_ENV=""
|
||||
fi
|
||||
|
||||
# 端口问题
|
||||
modify_ql_port(){
|
||||
inp "是否修改青龙端口[默认 5700]:\n1) 修改\n2) 不修改[默认]"
|
||||
echo -n -e "\e[36m输入您的选择->\e[0m"
|
||||
read change_ql_port
|
||||
if [ "$change_ql_port" = "1" ]; then
|
||||
echo -n -e "\e[36m输入您想修改的端口->\e[0m"
|
||||
read JD_PORT
|
||||
fi
|
||||
}
|
||||
modify_Ninja_port(){
|
||||
inp "是否修改 Ninja 端口[默认 5701]:\n1) 修改\n2) 不修改[默认]"
|
||||
echo -n -e "\e[36m输入您的选择->\e[0m"
|
||||
read change_Ninja_port
|
||||
if [ "$change_Ninja_port" = "1" ]; then
|
||||
echo -n -e "\e[36m输入您想修改的端口->\e[0m"
|
||||
read NINJA_PORT
|
||||
fi
|
||||
}
|
||||
inp "根据设备是否映射端口:\n1) 映射[默认]\n2) 不映射"
|
||||
echo -n -e "\e[36m输入您的选择->\e[0m"
|
||||
read port
|
||||
if [ "$port" = "2" ]; then
|
||||
MAPPING_JD_PORT=""
|
||||
MAPPING_NINJA_PORT=""
|
||||
else
|
||||
CHANGE_NETWORK=""
|
||||
MAPPING_JD_PORT="-p $JD_PORT:5700"
|
||||
inp "是否安装 Ninja,若已存在则强制重装:\n1) 安装[默认]\n2) 不安装"
|
||||
echo -n -e "\e[36m输入您的选择->\e[0m"
|
||||
read Ninja
|
||||
if [ "$Ninja" = "2" ]; then
|
||||
INSTALL_NINJA=false
|
||||
modify_ql_port
|
||||
MAPPING_NINJA_PORT=""
|
||||
else
|
||||
modify_ql_port
|
||||
modify_Ninja_port
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# 配置已经创建完成,开始执行
|
||||
@ -195,78 +236,49 @@ if [ $HAS_IMAGE = true ] && [ $PULL_IMAGE = true ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
log "3.开始创建容器并执行"
|
||||
|
||||
run_port(){
|
||||
docker run -dit \
|
||||
-t \
|
||||
-v $CONFIG_PATH:/ql/config \
|
||||
-v $DB_PATH:/ql/db \
|
||||
-v $LOG_PATH:/ql/log \
|
||||
-v $REPO_PATH:/ql/repo \
|
||||
-v $RAW_PATH:/ql/raw \
|
||||
-v $SCRIPT_PATH:/ql/scripts \
|
||||
-v $JBOT_PATH:/ql/jbot \
|
||||
-v $NINJA_PATH:/ql/ninja \
|
||||
-p $JD_PORT:5700 \
|
||||
-p $NINJA_PORT:5701 \
|
||||
--name $CONTAINER_NAME \
|
||||
--hostname qinglong \
|
||||
--restart always \
|
||||
$ENABLE_HANGUP_ENV \
|
||||
$ENABLE_WEB_PANEL_ENV \
|
||||
$DOCKER_IMG_NAME:$TAG
|
||||
}
|
||||
|
||||
run_noport(){
|
||||
docker run -dit \
|
||||
-t \
|
||||
-v $CONFIG_PATH:/ql/config \
|
||||
-v $DB_PATH:/ql/db \
|
||||
-v $LOG_PATH:/ql/log \
|
||||
-v $REPO_PATH:/ql/repo \
|
||||
-v $RAW_PATH:/ql/raw \
|
||||
-v $SCRIPT_PATH:/ql/scripts \
|
||||
-v $JBOT_PATH:/ql/jbot \
|
||||
-v $NINJA_PATH:/ql/ninja \
|
||||
--name $CONTAINER_NAME \
|
||||
--hostname qinglong \
|
||||
--restart always \
|
||||
--network $NETWORK \
|
||||
$ENABLE_HANGUP_ENV \
|
||||
$ENABLE_WEB_PANEL_ENV \
|
||||
$DOCKER_IMG_NAME:$TAG
|
||||
}
|
||||
|
||||
# 端口存在检测
|
||||
check_port() {
|
||||
echo "正在检测端口 $1"
|
||||
check_port(){
|
||||
echo "正在检测端口:$1"
|
||||
netstat -tlpn | grep "\b$1\b"
|
||||
}
|
||||
|
||||
while check_port $JD_PORT; do
|
||||
if [ "$port" != "2" ]; then
|
||||
echo -n -e "\e[31m端口被占用,请重新输入青龙面板端口:\e[0m"
|
||||
if [ "$port" != "2" ]; then
|
||||
while check_port $JD_PORT; do
|
||||
echo -n -e "\e[31m端口:$JD_PORT 被占用,请重新输入青龙面板端口:\e[0m"
|
||||
read JD_PORT
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
while check_port $NINJA_PORT; do
|
||||
if [ "$port" != "2" ]; then
|
||||
echo -n -e "\e[31m端口被占用,请重新输入 Ninja 面板端口:\e[0m"
|
||||
read NINJA_PORT
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$port" = "2" ]; then
|
||||
run_noport
|
||||
else
|
||||
run_port
|
||||
done
|
||||
echo -e "\e[34m恭喜,端口:$JD_PORT 可用\e[0m"
|
||||
MAPPING_JD_PORT="-p $JD_PORT:5700"
|
||||
fi
|
||||
if [ "$Ninja" != "2" ]; then
|
||||
while check_port $NINJA_PORT; do
|
||||
echo -n -e "\e[31m端口:$NINJA_PORT 被占用,请重新输入 Ninja 面板端口:\e[0m"
|
||||
read NINJA_PORT
|
||||
done
|
||||
echo -e "\e[34m恭喜,端口:$NINJA_PORT 可用\e[0m"
|
||||
MAPPING_NINJA_PORT="-p $NINJA_PORT:5701"
|
||||
fi
|
||||
|
||||
|
||||
log "3.开始创建容器并执行"
|
||||
docker run -dit \
|
||||
-t \
|
||||
-v $CONFIG_PATH:/ql/config \
|
||||
-v $DB_PATH:/ql/db \
|
||||
-v $LOG_PATH:/ql/log \
|
||||
-v $REPO_PATH:/ql/repo \
|
||||
-v $RAW_PATH:/ql/raw \
|
||||
-v $SCRIPT_PATH:/ql/scripts \
|
||||
-v $JBOT_PATH:/ql/jbot \
|
||||
-v $NINJA_PATH:/ql/ninja \
|
||||
$MAPPING_JD_PORT \
|
||||
$MAPPING_NINJA_PORT \
|
||||
--name $CONTAINER_NAME \
|
||||
--hostname qinglong \
|
||||
--restart always \
|
||||
$CHANGE_NETWORK \
|
||||
$ENABLE_HANGUP_ENV \
|
||||
$ENABLE_WEB_PANEL_ENV \
|
||||
$DOCKER_IMG_NAME:$TAG
|
||||
|
||||
if [ $? -ne 0 ] ; then
|
||||
cancelrun "** 错误:容器创建失败,多数由于 docker 空间不足引起,请检查!"
|
||||
@ -299,11 +311,11 @@ log "5.开始检测 Nginx 静态解析"
|
||||
echo "开始扫描静态解析是否在线!"
|
||||
ps -fe|grep nginx|grep -v grep
|
||||
if [ $? -ne 0 ]; then
|
||||
echo $NOWTIME" 扫描结束!Nginx 静态解析停止!准备重启!"
|
||||
echo echo "$(date +%Y-%m-%d" "%H:%M:%S) 扫描结束!Nginx 静态解析停止!准备重启!"
|
||||
docker exec -it $CONTAINER_NAME nginx -c /etc/nginx/nginx.conf
|
||||
echo $NOWTIME" Nginx 静态解析重启完成!"
|
||||
echo "$(date +%Y-%m-%d" "%H:%M:%S) Nginx 静态解析重启完成!"
|
||||
else
|
||||
echo $NOWTIME" 扫描结束!Nginx 静态解析正常!"
|
||||
echo "$(date +%Y-%m-%d" "%H:%M:%S) 扫描结束!Nginx 静态解析正常!"
|
||||
fi
|
||||
|
||||
if [ "$port" = "2" ]; then
|
||||
@ -339,13 +351,18 @@ cat $CONFIG_PATH/auth.json
|
||||
echo -e "\n"
|
||||
if [ "$access" != "2" ]; then
|
||||
if [ "$(grep -c "token" $CONFIG_PATH/auth.json)" != 0 ]; then
|
||||
log "7.开始青龙内部配置"
|
||||
log "7.开始安装或重装 Ninja"
|
||||
if [ "$INSTALL_NINJA" = true ]; then
|
||||
docker exec -it $CONTAINER_NAME bash -c "cd /ql;ps -ef|grep ninja|grep -v grep|awk '{print $1}'|xargs kill -9;rm -rf /ql/ninja;git clone https://github.com/MoonBegonia/ninja.git /ql/ninja;cd /ql/ninja/backend;pnpm install;cp .env.example .env;cp sendNotify.js /ql/scripts/sendNotify.js;sed -i \"s/NINJA_PORT=5701/NINJA_PORT=${NINJA_PORT}/\" /ql/ninja/backend/.env;sed -i \"s/ALLOW_NUM=40/ALLOW_NUM=100/\" /ql/ninja/backend/.env;pm2 start"
|
||||
docker exec -it $CONTAINER_NAME bash -c "sed -i \"s/NINJA_PORT=5701/NINJA_PORT=${NINJA_PORT}/\" /ql/ninja/backend/.env && sed -i \"s/ALLOW_NUM=40/ALLOW_NUM=100/\" /ql/ninja/backend/.env && pm2 start"
|
||||
fi
|
||||
log "8.开始青龙内部配置"
|
||||
docker exec -it $CONTAINER_NAME bash -c "$(curl -fsSL https://gitee.com/allin1code/a1/raw/master/1customCDN.sh)"
|
||||
else
|
||||
warn "7.未检测到 token,取消内部配置"
|
||||
warn "8.未检测到 token,取消内部配置"
|
||||
fi
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
|
||||
log "全面部署已完成!enjoy!!!"
|
||||
log "全面部署已完成!enjoy!!!"
|
||||
@ -36,8 +36,6 @@ ENABLE_WEB_PANEL=true
|
||||
ENABLE_HANGUP=true
|
||||
OLD_IMAGE_ID=""
|
||||
MOUNT_SCRIPT=""
|
||||
MAPPING_PORT="-p $JD_PORT:5678"
|
||||
CHANGE_NETWORK="--network $NETWORK"
|
||||
ENABLE_HANGUP_ENV="--env ENABLE_HANGUP=true"
|
||||
ENABLE_BOT_ENV="--env ENABLE_TG_BOT=true"
|
||||
ENABLE_WEB_PANEL_ENV="--env ENABLE_WEB_PANEL=true"
|
||||
@ -170,6 +168,8 @@ read net
|
||||
if [ "$net" = "2" ]; then
|
||||
NETWORK="bridge"
|
||||
CHANGE_NETWORK="--network $NETWORK"
|
||||
else
|
||||
CHANGE_NETWORK="--network $NETWORK"
|
||||
fi
|
||||
|
||||
inp "是否在启动容器时自动启动挂机程序:\n1) 开启[默认]\n2) 关闭"
|
||||
@ -193,26 +193,27 @@ if [ "$pannel" = "2" ]; then
|
||||
ENABLE_WEB_PANNEL_ENV=""
|
||||
fi
|
||||
|
||||
inp "根据设备是否映射端口:\n1) 映射[默认]\n2) 不映射"
|
||||
echo -n -e "\e[36m输入您的选择->\e[0m"
|
||||
read port
|
||||
if [ "$port" = "2" ]; then
|
||||
MAPPING_PORT=""
|
||||
else
|
||||
CHANGE_NETWORK=""
|
||||
fi
|
||||
|
||||
if [ "$port" != "2" ]; then
|
||||
inp "是否修改端口:\n1) 修改\n2) 不修改[默认]"
|
||||
# 端口问题
|
||||
modify_v4_port(){
|
||||
inp "是否修改 V4 端口[默认 5678]:\n1) 修改\n2) 不修改[默认]"
|
||||
echo -n -e "\e[36m输入您的选择->\e[0m"
|
||||
read change_port
|
||||
if [ "$change_port" = "1" ]; then
|
||||
echo -n -e "\e[36m输入您想修改的端口->\e[0m"
|
||||
read JD_PORT
|
||||
MAPPING_PORT="-p $JD_PORT:5678"
|
||||
fi
|
||||
}
|
||||
inp "根据设备是否映射端口:\n1) 映射[默认]\n2) 不映射"
|
||||
echo -n -e "\e[36m输入您的选择->\e[0m"
|
||||
read port
|
||||
if [ "$port" = "2" ]; then
|
||||
MAPPING_JD_PORT=""
|
||||
else
|
||||
CHANGE_NETWORK=""
|
||||
modify_v4_port
|
||||
fi
|
||||
|
||||
|
||||
# 配置已经创建完成,开始执行
|
||||
log "1.开始创建配置文件目录"
|
||||
mkdir -p $CONFIG_PATH
|
||||
@ -251,18 +252,18 @@ fi
|
||||
|
||||
# 端口存在检测
|
||||
check_port() {
|
||||
echo "正在检测端口 $1"
|
||||
echo "正在检测端口:$1"
|
||||
netstat -tlpn | grep "\b$1\b"
|
||||
}
|
||||
while check_port $JD_PORT; do
|
||||
if [ "$port" != "2" ]; then
|
||||
echo -n -e "\e[31m端口被占用,请重新输入 V4 面板端口:\e[0m"
|
||||
if [ "$port" != "2" ]; then
|
||||
while check_port $JD_PORT; do
|
||||
echo -n -e "\e[31m端口:$JD_PORT 被占用,请重新输入 V4 面板端口:\e[0m"
|
||||
read JD_PORT
|
||||
else
|
||||
MAPPING_PORT="-p $JD_PORT:5678"
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
echo -e "\e[34m恭喜,端口:$JD_PORT 可用\e[0m"
|
||||
MAPPING_JD_PORT="-p $JD_PORT:5678"
|
||||
fi
|
||||
|
||||
|
||||
log "3.开始创建容器并执行"
|
||||
docker run -dit \
|
||||
@ -272,7 +273,7 @@ docker run -dit \
|
||||
-v $OWN_PATH:/jd/own \
|
||||
$MOUNT_SCRIPT \
|
||||
-v $DIY_PATH:/jd/jbot/diy \
|
||||
$MAPPING_PORT \
|
||||
$MAPPING_JD_PORT \
|
||||
--name $CONTAINER_NAME \
|
||||
--hostname jd_v4_bot \
|
||||
--restart always \
|
||||
@ -317,4 +318,4 @@ log "6.安装已经完成。创建好后请阅读映射的 config 目录下的
|
||||
log "7.如果启用了 ENABLE_TG_BOT,创建好后请阅读映射的 config 目录下的的 config.sh 和 bot.json,并根据说明修改,首次创建并不会启动 bot,修改好 bot.json 后请重启容器。"
|
||||
log "命令提示:\njtask mtask otask 链接的都是同一个脚本,m=my,o=own,j=jd。三者区分仅用在 crontab.list 中,以区别不同类型任务,手动运行直接 jtask 即可。\ndocker exec $CONTAINER_NAME jtask # 运行 scripts 脚本\ndocker exec $CONTAINER_NAME otask # 运行 own 脚本\ndocker exec $CONTAINER_NAME mtask # 运行你自己的脚本,如果某些 own 脚本识别不出来 cron,你也可以自行添加 mtask 任务\ndocker exec $CONTAINER_NAME jlog # 删除旧日志\ndocker exec $CONTAINER_NAME jup # 更新所有脚本\ndocker exec $CONTAINER_NAME jcode # 导出所有互助码\ndocker exec $CONTAINER_NAME jcsv # 记录豆豆变化情况"
|
||||
|
||||
log "enjoy!!!"
|
||||
log "enjoy!!!"
|
||||
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
## Mod: Build20210805V1
|
||||
## Mod: Build20210805V2
|
||||
## 添加你需要重启自动执行的任意命令,比如 ql repo
|
||||
## 安装node依赖使用 pnpm install -g xxx xxx(Build 20210728-002 及以上版本的 code.sh,可忽略)
|
||||
## 安装python依赖使用 pip3 install xxx(Build 20210728-002 及以上版本的 code.sh,可忽略)
|
||||
@ -14,7 +14,7 @@
|
||||
### (1)默认不安装,因为 Build 20210728-002 及以上版本的 code.sh 自动检查修复依赖
|
||||
### (2)若需要在此处使用,请在设置区设置
|
||||
## 3. Ninja
|
||||
### (1)默认启动并自动更新,未运行成功将强制重装
|
||||
### (1)默认启动并自动更新
|
||||
### (2)⚠未修改容器映射的请勿运行,否则会出现青龙打不开或者设备死机等不良后果,映射参考 https://github.com/MoonBegonia/ninja#%E5%AE%B9%E5%99%A8%E5%86%85
|
||||
|
||||
|
||||
@ -129,27 +129,8 @@ update_Ninja_normal(){
|
||||
cd /ql/ninja/backend && git pull -f && pnpm install && pm2 start && cp sendNotify.js /ql/scripts/sendNotify.js
|
||||
}
|
||||
|
||||
reinstall_Ninja_force(){
|
||||
ps -ef|grep ninja|grep -v grep
|
||||
if [ $? -ne 0 ]; then
|
||||
cd /ql
|
||||
ps -ef|grep ninja|grep -v grep|awk '{print $1}'|xargs kill -9 && rm -rf /ql/ninja && rm -rf /ql/ninja
|
||||
git clone https://github.com/MoonBegonia/ninja.git /ql/ninja ## 拉取仓库
|
||||
cd /ql/ninja/backend
|
||||
pnpm install ## 安装局部依赖
|
||||
cp .env.example .env ## 复制环境变量配置文件
|
||||
cp sendNotify.js /ql/scripts/sendNotify.js ## 复制通知脚本到青龙容器
|
||||
pm2 start
|
||||
fi
|
||||
}
|
||||
|
||||
check_Ninja_all(){
|
||||
update_Ninja_normal
|
||||
reinstall_Ninja_force
|
||||
}
|
||||
|
||||
if [ "${Ninja}" = "up" ]; then
|
||||
check_Ninja_all &
|
||||
update_Ninja_normal &
|
||||
fi
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user