From a623b0c1ad4d287664f88d96632675cd0e8aab34 Mon Sep 17 00:00:00 2001 From: DDSRem <1448139087@qq.com> Date: Wed, 16 Aug 2023 10:52:52 +0800 Subject: [PATCH] fix: https://github.com/jxxghp/MoviePilot/issues/128 --- Dockerfile | 7 ++++--- start => entrypoint | 0 update | 50 +++++++++++++++++++++++++++------------------ 3 files changed, 34 insertions(+), 23 deletions(-) rename start => entrypoint (100%) diff --git a/Dockerfile b/Dockerfile index 55b38386..13480ba9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -54,8 +54,9 @@ RUN apt-get update \ then ln -s /usr/lib/aarch64-linux-musl/libc.so /lib/libc.musl-aarch64.so.1; \ fi \ && cp -f /app/nginx.conf /etc/nginx/nginx.template.conf \ - && cp /app/update /usr/local/bin/mp_update \ - && chmod +x /app/start /usr/local/bin/mp_update \ + && cp -f /app/update /usr/local/bin/mp_update \ + && cp -f /app/entrypoint /entrypoint \ + && chmod +x /entrypoint /usr/local/bin/mp_update \ && mkdir -p ${HOME} \ && groupadd -r moviepilot -g 911 \ && useradd -r moviepilot -g moviepilot -d ${HOME} -s /bin/bash -u 911 \ @@ -80,4 +81,4 @@ RUN apt-get update \ /var/tmp/* EXPOSE 3000 VOLUME ["/config"] -ENTRYPOINT [ "/app/start" ] +ENTRYPOINT [ "/entrypoint" ] diff --git a/start b/entrypoint similarity index 100% rename from start rename to entrypoint diff --git a/update b/update index 971ac622..e70d6177 100644 --- a/update +++ b/update @@ -9,28 +9,38 @@ else fi old_version=$(cat /app/version.py) -new_version=$(curl -sL "${GITHUBUSERCONTENT_URL}/jxxghp/MoviePilot/main/version.py") -release_version=v$(echo ${new_version} | sed -ne "s/APP_VERSION\s=\s'v\(.*\)'/\1/gp") - -if [ "${old_version}" != "${new_version}" ]; then - echo "发现新版本,开始更新程序..." - curl -sL "${GITHUB_URL}/jxxghp/MoviePilot/archive/refs/tags/${release_version}.zip" | busybox unzip -d /tmp - - if [ $? -eq 0 ]; then - echo "后端下载成功" - curl -sL "${GITHUB_URL}/jxxghp/MoviePilot-Frontend/releases/download/${release_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 "程序更新成功" +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 -sL "${GITHUBUSERCONTENT_URL}/jxxghp/MoviePilot/main/version.py") + if [[ "${new_version}" == *APP_VERSION* ]]; then + release_version=v$(echo ${new_version} | sed -ne "s/APP_VERSION\s=\s'v\(.*\)'/\1/gp") + echo "最新版本号:${release_version}" + if [ "${old_version}" != "${new_version}" ]; then + echo "发现新版本,开始更新程序..." + curl -sL "${GITHUB_URL}/jxxghp/MoviePilot/archive/refs/tags/${release_version}.zip" | busybox unzip -d /tmp - + if [ $? -eq 0 ]; then + echo "后端下载成功" + curl -sL "${GITHUB_URL}/jxxghp/MoviePilot-Frontend/releases/download/${release_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 "程序更新成功" + else + echo "前端下载失败,继续使用旧的程序来启动..." + fi + else + echo "后端下载失败,继续使用旧的程序来启动..." + fi else - echo "前端下载失败,继续使用旧的程序来启动..." + echo "未发现新版本,跳过更新步骤" fi else - echo "后端下载失败,继续使用旧的程序来启动..." + echo "最新版本号获取失败,继续使用旧的程序来启动..." fi else - echo "未发现新版本,跳过更新步骤" -fi \ No newline at end of file + echo "当前版本号获取失败,继续使用旧的程序来启动..." +fi