yydspure/docker/docker_entrypoint.sh

58 lines
1.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/bin/sh
set -e
#获取配置的自定义参数
if [ -n "$1" ]; then
run_cmd=$1
fi
(
if [ -f "/scripts/logs/pull.lock" ]; then
echo "存在更新锁定文件跳过git pull操作..."
else
echo "设定远程仓库地址..."
cd /scripts
git remote set-url origin "$REPO_URL"
git reset --hard
echo "git pull拉取最新代码..."
git -C /scripts pull --rebase
echo "npm install 安装最新依赖"
npm install --prefix /scripts
fi
) || exit 0
# 默认启动telegram交互机器人的条件
# 确认容器启动时调用的docker_entrypoint.sh
# 必须配置TG_BOT_TOKEN、TG_USER_ID
# 且未配置DISABLE_BOT_COMMAND禁用交互
# 且未配置自定义TG_API_HOST因为配置了该变量说明该容器环境可能并能科学的连到telegram服务器
if [[ -n "$run_cmd" && -n "$TG_BOT_TOKEN" && -n "$TG_USER_ID" && -z "$DISABLE_BOT_COMMAND" && -z "$TG_API_HOST" ]]; then
ENABLE_BOT_COMMAND=True
else
ENABLE_BOT_COMMAND=False
fi
echo "------------------------------------------------执行定时任务任务shell脚本------------------------------------------------"
#测试
# sh /jd_docker/docker/default_task.sh "$ENABLE_BOT_COMMAND" "$run_cmd"
#合并
sh /scripts/docker/default_task.sh "$ENABLE_BOT_COMMAND" "$run_cmd"
echo "--------------------------------------------------默认定时任务执行完成---------------------------------------------------"
if [ -n "$run_cmd" ]; then
# 增加一层jd_bot指令已经正确安装成功校验
# 以上条件都满足后会启动jd_bot交互否还是按照以前的模式启动最大程度避免现有用户改动调整
if [[ "$ENABLE_BOT_COMMAND" == "True" && -f /usr/bin/jd_bot ]]; then
echo "启动crontab定时任务主进程..."
crond
echo "启动telegram bot指令交主进程..."
jd_bot
else
echo "启动crontab定时任务主进程..."
crond -f
fi
else
echo "默认定时任务执行结束。"
fi