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/README.md b/README.md
index 6b94660f..ec4f2b82 100644
--- a/README.md
+++ b/README.md
@@ -46,6 +46,11 @@ docker pull jxxghp/moviepilot:latest
### 1. **基础设置**
+- **PUID**:运行程序用户的`uid`,默认`0`
+- **PGID**:运行程序用户的`gid`,默认`0`
+- **UMASK**:掩码权限,默认`000`,可以考虑设置为`022`
+- **MOVIEPILOT_AUTO_UPDATE**:重启更新,`true`/`false`,默认`true`
+- **MOVIEPILOT_CN_UPDATE**:重启更新是否使用国内加速,`true`/`false`,默认`false `
- **NGINX_PORT:** WEB服务端口,默认`3000`,可自行修改,但不能为`3001`
- **SUPERUSER:** 超级管理员用户名,默认`admin`,安装后使用该用户登录后台管理界面
- **SUPERUSER_PASSWORD:** 超级管理员初始密码,默认`password`,建议修改为复杂密码
@@ -53,8 +58,8 @@ docker pull jxxghp/moviepilot:latest
- **PROXY_HOST:** 网络代理(可选),访问themoviedb需要使用代理访问,格式为`http(s)://ip:port`
- **TMDB_API_DOMAIN:** TMDB API地址,默认`api.themoviedb.org`,也可配置为`api.tmdb.org`或其它中转代理服务地址,能连通即可
- **DOWNLOAD_PATH:** 下载保存目录,**注意:需要将`moviepilot`及`下载器`的映射路径保持一致**,否则会导致下载文件无法转移
-- **DOWNLOAD_MOVIE_PATH:** 电影下载保存目录,**必须是DOWNLOAD_PATH的下级路径**,不设置则下载到DOWNLOAD_PATH
-- **DOWNLOAD_TV_PATH:** 电视剧下载保存目录,**必须是DOWNLOAD_PATH的下级路径**,不设置则下载到DOWNLOAD_PATH
+- **DOWNLOAD_MOVIE_PATH:** 电影下载保存目录,**必须是`DOWNLOAD_PATH`的下级路径**,不设置则下载到`DOWNLOAD_PATH`
+- **DOWNLOAD_TV_PATH:** 电视剧下载保存目录,**必须是`DOWNLOAD_PATH`的下级路径**,不设置则下载到`DOWNLOAD_PATH`
- **DOWNLOAD_CATEGORY:** 下载二级分类开关,`true`/`false`,默认`false`,开启后会根据配置`category.yaml`自动在下载目录下建立二级目录分类
- **DOWNLOAD_SUBTITLE:** 下载站点字幕,`true`/`false`,默认`true`
- **REFRESH_MEDIASERVER:** 入库刷新媒体库,`true`/`false`,默认`true`
@@ -70,67 +75,66 @@ docker pull jxxghp/moviepilot:latest
- **COOKIECLOUD_PASSWORD:** CookieCloud端对端加密密码
- **COOKIECLOUD_INTERVAL:** CookieCloud同步间隔(分钟)
- **USER_AGENT:** CookieCloud对应的浏览器UA,可选,设置后可增加连接站点的成功率,同步站点后可以在管理界面中修改
+- **MESSAGER:** 消息通知渠道,支持 `telegram`/`wechat`/`slack`,开启多个渠道时使用`,`分隔。同时还需要配置对应渠道的环境变量,非对应渠道的变量可删除,推荐使用`telegram`
+
+ - `wechat`设置项:
+
+ - **WECHAT_CORPID:** WeChat企业ID
+ - **WECHAT_APP_SECRET:** WeChat应用Secret
+ - **WECHAT_APP_ID:** WeChat应用ID
+ - **WECHAT_TOKEN:** WeChat消息回调的Token
+ - **WECHAT_ENCODING_AESKEY:** WeChat消息回调的EncodingAESKey
+ - **WECHAT_ADMINS:** WeChat管理员列表,多个管理员用英文逗号分隔(可选)
+ - **WECHAT_PROXY:** WeChat代理服务器(后面不要加/)
+
+ - `telegram`设置项:
+
+ - **TELEGRAM_TOKEN:** Telegram Bot Token
+ - **TELEGRAM_CHAT_ID:** Telegram Chat ID
+ - **TELEGRAM_USERS:** Telegram 用户ID,多个使用,分隔,只有用户ID在列表中才可以使用Bot,如未设置则均可以使用Bot
+ - **TELEGRAM_ADMINS:** Telegram 管理员ID,多个使用,分隔,只有管理员才可以操作Bot菜单,如未设置则均可以操作菜单
+
+ - `slack`设置项:
+
+ - **SLACK_OAUTH_TOKEN:** Slack Bot User OAuth Token
+ - **SLACK_APP_TOKEN:** Slack App-Level Token
+ - **SLACK_CHANNEL:** Slack 频道名称,默认`全体`
-**MESSAGER:** 消息通知渠道,支持 `telegram`/`wechat`/`slack`,开启多个渠道时使用`,`分隔。同时还需要配置对应渠道的环境变量,非对应渠道的变量可删除,推荐使用`telegram`
+- **DOWNLOADER:** 下载器,支持`qbittorrent`/`transmission`,QB版本号要求>= 4.3.9,TR版本号要求>= 3.0,同时还需要配置对应渠道的环境变量,非对应渠道的变量可删除,推荐使用`qbittorrent`
-`wechat`设置项:
+ - `qbittorrent`设置项:
-- **WECHAT_CORPID:** WeChat企业ID
-- **WECHAT_APP_SECRET:** WeChat应用Secret
-- **WECHAT_APP_ID:** WeChat应用ID
-- **WECHAT_TOKEN:** WeChat消息回调的Token
-- **WECHAT_ENCODING_AESKEY:** WeChat消息回调的EncodingAESKey
-- **WECHAT_ADMINS:** WeChat管理员列表,多个管理员用英文逗号分隔(可选)
-- **WECHAT_PROXY:** WeChat代理服务器(后面不要加/)
+ - **QB_HOST:** qbittorrent地址,格式:`ip:port`,https需要添加`https://`前缀
+ - **QB_USER:** qbittorrent用户名
+ - **QB_PASSWORD:** qbittorrent密码
-`telegram`设置项:
+ - `transmission`设置项:
-- **TELEGRAM_TOKEN:** Telegram Bot Token
-- **TELEGRAM_CHAT_ID:** Telegram Chat ID
-- **TELEGRAM_USERS:** Telegram 用户ID,多个使用,分隔,只有用户ID在列表中才可以使用Bot,如未设置则均可以使用Bot
-- **TELEGRAM_ADMINS:** Telegram 管理员ID,多个使用,分隔,只有管理员才可以操作Bot菜单,如未设置则均可以操作菜单
+ - **TR_HOST:** transmission地址,格式:`ip:port`,https需要添加`https://`前缀
+ - **TR_USER:** transmission用户名
+ - **TR_PASSWORD:** transmission密码
-`slack`设置项:
+- **DOWNLOADER_MONITOR:** 下载器监控,`true`/`false`,默认为`true`,开启后下载完成时才会自动整理入库
-- **SLACK_OAUTH_TOKEN:** Slack Bot User OAuth Token
-- **SLACK_APP_TOKEN:** Slack App-Level Token
-- **SLACK_CHANNEL:** Slack 频道名称,默认`全体`
+- **MEDIASERVER:** 媒体服务器,支持`emby`/`jellyfin`/`plex`,同时还需要配置对应媒体服务器的环境变量,非对应媒体服务器的变量可删除,推荐使用`emby`
+ - `emby`设置项:
-**DOWNLOADER:** 下载器,支持`qbittorrent`/`transmission`,QB版本号要求>= 4.3.9,TR版本号要求>= 3.0,同时还需要配置对应渠道的环境变量,非对应渠道的变量可删除,推荐使用`qbittorrent`
-**DOWNLOADER_MONITOR:** 下载器监控,`true`/`false`,默认为`true`,开启后下载完成时才会自动整理入库
+ - **EMBY_HOST:** Emby服务器地址,格式:`ip:port`,https需要添加`https://`前缀
+ - **EMBY_API_KEY:** Emby Api Key,在`设置->高级->API密钥`处生成
-`qbittorrent`设置项:
+ - `jellyfin`设置项:
-- **QB_HOST:** qbittorrent地址,格式:`ip:port`,https需要添加`https://`前缀
-- **QB_USER:** qbittorrent用户名
-- **QB_PASSWORD:** qbittorrent密码
+ - **JELLYFIN_HOST:** Jellyfin服务器地址,格式:`ip:port`,https需要添加`https://`前缀
+ - **JELLYFIN_API_KEY:** Jellyfin Api Key,在`设置->高级->API密钥`处生成
-`transmission`设置项:
+ - `plex`设置项:
-- **TR_HOST:** transmission地址,格式:`ip:port`,https需要添加`https://`前缀
-- **TR_USER:** transmission用户名
-- **TR_PASSWORD:** transmission密码
+ - **PLEX_HOST:** Plex服务器地址,格式:`ip:port`,https需要添加`https://`前缀
+ - **PLEX_TOKEN:** Plex网页Url中的`X-Plex-Token`,通过浏览器F12->网络从请求URL中获取
-**MEDIASERVER:** 媒体服务器,支持`emby`/`jellyfin`/`plex`,同时还需要配置对应媒体服务器的环境变量,非对应媒体服务器的变量可删除,推荐使用`emby`
-
-**MEDIASERVER_SYNC_INTERVAL:** 媒体服务器同步间隔(小时),默认`6`,留空则不同步
-
-`emby`设置项:
-
-- **EMBY_HOST:** Emby服务器地址,格式:`ip:port`,https需要添加`https://`前缀
-- **EMBY_API_KEY:** Emby Api Key,在`设置->高级->API密钥`处生成
-
-`jellyfin`设置项:
-
-- **JELLYFIN_HOST:** Jellyfin服务器地址,格式:`ip:port`,https需要添加`https://`前缀
-- **JELLYFIN_API_KEY:** Jellyfin Api Key,在`设置->高级->API密钥`处生成
-
-`plex`设置项:
-
- - **PLEX_HOST:** Plex服务器地址,格式:`ip:port`,https需要添加`https://`前缀
- - **PLEX_TOKEN:** Plex网页Url中的`X-Plex-Token`,通过浏览器F12->网络从请求URL中获取
+- **MEDIASERVER_SYNC_INTERVAL:** 媒体服务器同步间隔(小时),默认`6`,留空则不同步
### 2. **用户认证**
@@ -140,7 +144,7 @@ docker pull jxxghp/moviepilot:latest
`MoviePilot`需要认证后才能使用,配置`AUTH_SITE`后,需要根据下表配置对应站点的认证参数。
| 站点 | 参数 |
-|----|-------------------------------------------------------|
+|:--:|:-----------------------------------------------------:|
| iyuu | `IYUU_SIGN`:IYUU登录令牌 |
| hhclub | `HHCLUB_USERNAME`:用户名
`HHCLUB_PASSKEY`:密钥 |
| audiences | `AUDIENCES_UID`:用户ID
`AUDIENCES_PASSKEY`:密钥 |
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