feat: dev update

This commit is contained in:
DDSRem 2023-09-02 10:52:19 +08:00
parent 9fdd838b7a
commit 62c1a924e8
3 changed files with 75 additions and 66 deletions

View File

@ -8,6 +8,7 @@ ENV LANG="C.UTF-8" \
PGID=0 \ PGID=0 \
UMASK=000 \ UMASK=000 \
MOVIEPILOT_AUTO_UPDATE=true \ MOVIEPILOT_AUTO_UPDATE=true \
MOVIEPILOT_AUTO_UPDATE_DEV=false \
NGINX_PORT=3000 \ NGINX_PORT=3000 \
CONFIG_DIR="/config" \ CONFIG_DIR="/config" \
API_TOKEN="moviepilot" \ API_TOKEN="moviepilot" \

24
dev.sh
View File

@ -1,24 +0,0 @@
#!/bin/bash
# 更新环境
apt update
# 安装 Git
apt install -y git curl
# 更新后端代码
cd /
rm -rf /app
git clone https://github.com/jxxghp/MoviePilot app
pip install -r /app/requirements.txt
echo "后端程序更新成功"
# 检查前端最新版本
frontend_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot-Frontend/releases/latest" | jq -r .tag_name)
# 更新前端代码
echo "正在下载前端程序 ${frontend_version}..."
curl -sL "https://github.com/jxxghp/MoviePilot-Frontend/releases/download/${frontend_version}/dist.zip" | busybox unzip -d /tmp -
if [ $? -eq 0 ]; then
rm -rf /public
mv /tmp/dist /public
echo "程序更新成功,前端版本:${frontend_version}"
else
echo "前端程序下载失败"
fi
echo "请重启容器生效"

116
update
View File

@ -2,59 +2,91 @@
if [ -n "${PROXY_HOST}" ]; then if [ -n "${PROXY_HOST}" ]; then
CURL_OPTIONS="-sL -x ${PROXY_HOST}" CURL_OPTIONS="-sL -x ${PROXY_HOST}"
PIP_OPTIONS="-r --proxy=${PROXY_HOST}" PIP_OPTIONS="--proxy=${PROXY_HOST}"
echo "使用代理更新程序" echo "使用代理更新程序"
else else
CURL_OPTIONS="-sL" CURL_OPTIONS="-sL"
PIP_OPTIONS="-r"
echo "不使用代理更新程序" echo "不使用代理更新程序"
fi fi
old_version=$(cat /app/version.py) if [ "${MOVIEPILOT_AUTO_UPDATE}" = "true" ]; then
if [[ "${old_version}" == *APP_VERSION* ]]; then curl -sL ${CURL_OPTIONS} "https://github.com/jxxghp/MoviePilot/archive/refs/heads/main.zip" | busybox unzip -d /tmp -
current_version=v$(echo ${old_version} | sed -ne "s/APP_VERSION\s=\s'v\(.*\)'/\1/gp") if [ $? -eq 0 ]; then
echo "当前版本号:${current_version}" mv /tmp/MoviePilot-main /tmp/app
# 检查后端最新版本 echo "后端程序下载成功"
new_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot/releases/latest" | jq -r .tag_name) # 重新安装依赖
if [[ "${new_version}" == *v* ]]; then pip install ${PIP_OPTIONS} --upgrade pip
release_version=${new_version} pip install ${PIP_OPTIONS} -r /tmp/app/requirements.txt
echo "最新版本号:${release_version}" if [ $? -eq 0 ]; then
if [ "${current_version}" != "${release_version}" ]; then echo "安装依赖成功"
echo "发现新版本,开始自动升级..." # 检查前端最新版本
echo "正在下载后端程序 ${release_version}..." frontend_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot-Frontend/releases/latest" | jq -r .tag_name)
curl ${CURL_OPTIONS} "https://github.com/jxxghp/MoviePilot/archive/refs/tags/${release_version}.zip" | busybox unzip -d /tmp - echo "正在下载前端程序 ${frontend_version}..."
curl ${CURL_OPTIONS} "https://github.com/jxxghp/MoviePilot-Frontend/releases/download/${frontend_version}/dist.zip" | busybox unzip -d /tmp -
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "后端程序下载成功" echo "前端程序下载成功"
# 重新安装依赖 rm -rf /app
pip install ${PIP_OPTIONS} /tmp/MoviePilot*/requirements.txt mv /tmp/MoviePilot* /app
if [ $? -eq 0 ]; then rm -rf /public
echo "安装依赖成功" mv /tmp/dist /public
# 检查前端最新版本 echo "程序更新成功,前端版本:${frontend_version},后端版本:${release_version}"
frontend_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot-Frontend/releases/latest" | jq -r .tag_name)
echo "正在下载前端程序 ${frontend_version}..."
curl ${CURL_OPTIONS} "https://github.com/jxxghp/MoviePilot-Frontend/releases/download/${frontend_version}/dist.zip" | busybox unzip -d /tmp -
if [ $? -eq 0 ]; then
echo "前端程序下载成功"
rm -rf /app
mv /tmp/MoviePilot* /app
rm -rf /public
mv /tmp/dist /public
echo "程序更新成功,前端版本:${frontend_version},后端版本:${release_version}"
else
echo "前端程序下载失败,继续使用旧的程序来启动..."
fi
else
echo "安装依赖失败,请重新拉取镜像"
fi
else else
echo "端程序下载失败,继续使用旧的程序来启动..." echo "前端程序下载失败,继续使用旧的程序来启动..."
fi fi
else else
echo "未发现新版本,跳过更新步骤..." echo "安装依赖失败,请重新拉取镜像"
fi fi
else else
echo "最新版本号获取失败,继续启动..." echo "后端程序下载失败,继续使用旧的程序来启动..."
fi fi
else else
echo "当前版本号获取失败,继续启动..." old_version=$(cat /app/version.py)
fi if [[ "${old_version}" == *APP_VERSION* ]]; then
current_version=v$(echo ${old_version} | sed -ne "s/APP_VERSION\s=\s'v\(.*\)'/\1/gp")
echo "当前版本号:${current_version}"
# 检查后端最新版本
new_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot/releases/latest" | jq -r .tag_name)
if [[ "${new_version}" == *v* ]]; then
release_version=${new_version}
echo "最新版本号:${release_version}"
if [ "${current_version}" != "${release_version}" ]; then
echo "发现新版本,开始自动升级..."
echo "正在下载后端程序 ${release_version}..."
curl ${CURL_OPTIONS} "https://github.com/jxxghp/MoviePilot/archive/refs/tags/${release_version}.zip" | busybox unzip -d /tmp -
if [ $? -eq 0 ]; then
echo "后端程序下载成功"
# 重新安装依赖
pip install ${PIP_OPTIONS} --upgrade pip
pip install ${PIP_OPTIONS} -r /tmp/MoviePilot*/requirements.txt
if [ $? -eq 0 ]; then
echo "安装依赖成功"
# 检查前端最新版本
frontend_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot-Frontend/releases/latest" | jq -r .tag_name)
echo "正在下载前端程序 ${frontend_version}..."
curl ${CURL_OPTIONS} "https://github.com/jxxghp/MoviePilot-Frontend/releases/download/${frontend_version}/dist.zip" | busybox unzip -d /tmp -
if [ $? -eq 0 ]; then
echo "前端程序下载成功"
rm -rf /app
mv /tmp/MoviePilot* /app
rm -rf /public
mv /tmp/dist /public
echo "程序更新成功,前端版本:${frontend_version},后端版本:${release_version}"
else
echo "前端程序下载失败,继续使用旧的程序来启动..."
fi
else
echo "安装依赖失败,请重新拉取镜像"
fi
else
echo "后端程序下载失败,继续使用旧的程序来启动..."
fi
else
echo "未发现新版本,跳过更新步骤..."
fi
else
echo "最新版本号获取失败,继续启动..."
fi
else
echo "当前版本号获取失败,继续启动..."
fi
fi