Merge QYG2297248353/appstore-1panel into pooneyy/1Panel-Appstore
This commit is contained in:
341
apps/movie-pilot/1.9.19/data.yml
Normal file
341
apps/movie-pilot/1.9.19/data.yml
Normal file
@@ -0,0 +1,341 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: "/home/movie-pilot"
|
||||
edit: true
|
||||
envKey: MOVIEPILOT_ROOT_PATH
|
||||
labelZh: 数据持久化路径
|
||||
labelEn: Data persistence path
|
||||
required: true
|
||||
type: text
|
||||
- default: 3000
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelZh: WebUI 端口
|
||||
labelEn: WebUI Port
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: 3001
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_API
|
||||
labelZh: API 端口
|
||||
labelEn: API Port
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: "admin"
|
||||
edit: true
|
||||
envKey: SUPERUSER
|
||||
labelZh: 管理员用户名
|
||||
labelEn: Superuser Username
|
||||
required: true
|
||||
type: text
|
||||
- default: "moviepilot"
|
||||
edit: true
|
||||
envKey: API_TOKEN
|
||||
labelZh: API 令牌
|
||||
labelEn: API Token
|
||||
required: true
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: PROXY_HOST
|
||||
labelZh: 网络代理
|
||||
labelEn: Proxy Host
|
||||
required: false
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
- default: "false"
|
||||
edit: true
|
||||
envKey: AUTO_UPDATE_RESOURCES
|
||||
labelZh: 自动更新资源包
|
||||
labelEn: Auto Update Resources
|
||||
required: true
|
||||
type: select
|
||||
values:
|
||||
- label: 开启
|
||||
value: "true"
|
||||
- label: 关闭
|
||||
value: "false"
|
||||
- default: "false"
|
||||
edit: true
|
||||
envKey: MOVIEPILOT_AUTO_UPDATE
|
||||
labelZh: 自动更新
|
||||
labelEn: Auto Update
|
||||
required: true
|
||||
type: select
|
||||
values:
|
||||
- label: 开启
|
||||
value: "true"
|
||||
- label: 发布版
|
||||
value: "release"
|
||||
- label: 测试版
|
||||
value: "dev"
|
||||
- label: 关闭
|
||||
value: "false"
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: CUSTOM_MOUNT_DIRECTORY_1
|
||||
labelEn: Custom mount directory 1
|
||||
labelZh: 自定义挂载目录 1
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: CUSTOM_MOUNT_DIRECTORY_2
|
||||
labelEn: Custom mount directory 2
|
||||
labelZh: 自定义挂载目录 2
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: CUSTOM_MOUNT_DIRECTORY_3
|
||||
labelEn: Custom mount directory 3
|
||||
labelZh: 自定义挂载目录 3
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: IYUU_SIGN
|
||||
labelEn: IYUU Sign
|
||||
labelZh: IYUU登录令牌
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: HHCLUB_USERNAME
|
||||
labelZh: hhclub 用户名
|
||||
labelEn: hhclub username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: HHCLUB_PASSKEY
|
||||
labelZh: hhclub 密钥
|
||||
labelEn: hhclub passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: AUDIENCES_UID
|
||||
labelZh: audiences 用户ID
|
||||
labelEn: audiences username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: AUDIENCES_PASSKEY
|
||||
labelZh: audiences 密钥
|
||||
labelEn: audiences passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: HDDOLBY_ID
|
||||
labelZh: hddolby 用户ID
|
||||
labelEn: hddolby username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: HDDOLBY_PASSKEY
|
||||
labelZh: hddolby 密钥
|
||||
labelEn: hddolby passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: ZMPT_UID
|
||||
labelZh: zmpt 用户ID
|
||||
labelEn: zmpt username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: ZMPT_PASSKEY
|
||||
labelZh: zmpt 密钥
|
||||
labelEn: zmpt passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: FREEFARM_UID
|
||||
labelZh: freefarm 用户ID
|
||||
labelEn: freefarm username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: FREEFARM_PASSKEY
|
||||
labelZh: freefarm 密钥
|
||||
labelEn: freefarm passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: HDFANS_UID
|
||||
labelZh: hdfans 用户ID
|
||||
labelEn: hdfans username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: HDFANS_PASSKEY
|
||||
labelZh: hdfans 密钥
|
||||
labelEn: hdfans passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: WINTERSAKURA_UID
|
||||
labelZh: wintersakura 用户ID
|
||||
labelEn: wintersakura username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: WINTERSAKURA_PASSKEY
|
||||
labelZh: wintersakura 密钥
|
||||
labelEn: wintersakura passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: LEAVES_UID
|
||||
labelZh: leaves 用户ID
|
||||
labelEn: leaves username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: LEAVES_PASSKEY
|
||||
labelZh: leaves 密钥
|
||||
labelEn: leaves passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: PTBA_UID
|
||||
labelZh: ptba 用户ID
|
||||
labelEn: ptba username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: PTBA_PASSKEY
|
||||
labelZh: ptba 密钥
|
||||
labelEn: ptba passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: ICC2022_UID
|
||||
labelZh: icc2022 用户ID
|
||||
labelEn: icc2022 username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: ICC2022_PASSKEY
|
||||
labelZh: icc2022 密钥
|
||||
labelEn: icc2022 passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: XINGTAN_UID
|
||||
labelZh: xingtan 用户ID
|
||||
labelEn: xingtan username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: XINGTAN_PASSKEY
|
||||
labelZh: xingtan 密钥
|
||||
labelEn: xingtan passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: PTVICOMO_UID
|
||||
labelZh: ptvicomo 用户ID
|
||||
labelEn: ptvicomo username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: PTVICOMO_PASSKEY
|
||||
labelZh: ptvicomo 密钥
|
||||
labelEn: ptvicomo passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: AGSVPT_UID
|
||||
labelZh: agsvpt 用户ID
|
||||
labelEn: agsvpt username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: AGSVPT_PASSKEY
|
||||
labelZh: agsvpt 密钥
|
||||
labelEn: agsvpt passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: HDKYL_UID
|
||||
labelZh: hdkyl 用户ID
|
||||
labelEn: hdkyl username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: HDKYL_PASSKEY
|
||||
labelZh: hdkyl 密钥
|
||||
labelEn: hdkyl passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: QINGWA_UID
|
||||
labelZh: qingwa 用户ID
|
||||
labelEn: qingwa username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: QINGWA_PASSKEY
|
||||
labelZh: qingwa 密钥
|
||||
labelEn: qingwa passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: DISCFAN_UID
|
||||
labelZh: discfan 用户ID
|
||||
labelEn: discfan username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: DISCFAN_PASSKEY
|
||||
labelZh: discfan 密钥
|
||||
labelEn: discfan passkay
|
||||
required: false
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: ROUSI_UID
|
||||
labelZh: rousi 用户ID
|
||||
labelEn: rousi username
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: ROUSI_PASSKEY
|
||||
labelZh: rousi 密钥
|
||||
labelEn: rousi passkay
|
||||
required: false
|
||||
type: password
|
||||
40
apps/movie-pilot/1.9.19/docker-compose.yml
Normal file
40
apps/movie-pilot/1.9.19/docker-compose.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
|
||||
services:
|
||||
movie-pilot:
|
||||
image: jxxghp/moviepilot:1.9.19
|
||||
container_name: ${CONTAINER_NAME}
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
restart: always
|
||||
stdin_open: true
|
||||
tty: true
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- ${PANEL_APP_PORT_HTTP}:3000
|
||||
- ${PANEL_APP_PORT_API}:3001
|
||||
env_file:
|
||||
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
|
||||
- ${APP_ENV_FILE:-/etc/1panel/envs/movie-pilot/movie-pilot.env}
|
||||
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ${MOVIEPILOT_ROOT_PATH}/config:/config
|
||||
- ${MOVIEPILOT_ROOT_PATH}/moviepilot:/moviepilot
|
||||
- ${MOVIEPILOT_ROOT_PATH}/download:/download
|
||||
- ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1}
|
||||
- ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2}
|
||||
- ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3}
|
||||
environment:
|
||||
- NGINX_PORT=3000
|
||||
- PORT=3001
|
||||
- PUID=0
|
||||
- PGID=0
|
||||
- UMASK=022
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 5m
|
||||
2
apps/movie-pilot/1.9.19/envs/default.env
Normal file
2
apps/movie-pilot/1.9.19/envs/default.env
Normal file
@@ -0,0 +1,2 @@
|
||||
# copyright© 2024 XinJiang Ms Studio
|
||||
ENV_FILE=.env
|
||||
2
apps/movie-pilot/1.9.19/envs/global.env
Normal file
2
apps/movie-pilot/1.9.19/envs/global.env
Normal file
@@ -0,0 +1,2 @@
|
||||
# copyright© 2024 XinJiang Ms Studio
|
||||
TZ=Asia/Shanghai
|
||||
53
apps/movie-pilot/1.9.19/envs/movie-pilot.env
Normal file
53
apps/movie-pilot/1.9.19/envs/movie-pilot.env
Normal file
@@ -0,0 +1,53 @@
|
||||
#######################################################################
|
||||
# 【*】为必配项,其余为选配项,选配项可以删除整项配置项或者保留配置默认值 #
|
||||
#######################################################################
|
||||
# 【*】API监听地址(注意不是前端访问地址)
|
||||
HOST=0.0.0.0
|
||||
# 是否调试模式,打开后将输出更多日志
|
||||
DEBUG=false
|
||||
# 是否开发模式,打开后后台服务将不会启动
|
||||
DEV=false
|
||||
# 【*】超级管理员,设置后一但重启将固化到数据库中,修改将无效(初始化超级管理员密码仅会生成一次,请在日志中查看并自行登录系统修改)
|
||||
SUPERUSER=admin
|
||||
# 大内存模式,开启后会增加缓存数量,但会占用更多内存
|
||||
BIG_MEMORY_MODE=false
|
||||
# 是否启用DOH域名解析,启用后对于api.themovie.org等域名通过DOH解析,避免域名DNS被污染
|
||||
DOH_ENABLE=true
|
||||
# 元数据识别缓存过期时间,数字型,单位小时,0为系统默认(大内存模式为7天,滞则为3天),调大该值可减少themoviedb的访问次数
|
||||
META_CACHE_EXPIRE=0
|
||||
# 自动检查和更新站点资源包(索引、认证等)
|
||||
AUTO_UPDATE_RESOURCE=true
|
||||
# 【*】API密钥,建议更换复杂字符串,有Jellyseerr/Overseerr、媒体服务器Webhook等配置以及部分支持API_TOKEN的API中使用
|
||||
API_TOKEN=moviepilot
|
||||
# 登录页面电影海报,tmdb/bing,tmdb要求能正常连接api.themoviedb.org
|
||||
WALLPAPER=tmdb
|
||||
# TMDB图片地址,无需修改需保留默认值,如果默认地址连通性不好可以尝试修改为:`static-mdb.v.geilijiasu.com`
|
||||
TMDB_IMAGE_DOMAIN=image.tmdb.org
|
||||
# TMDB API地址,无需修改需保留默认值,也可配置为`api.tmdb.org`或其它中转代理服务地址,能连通即可
|
||||
TMDB_API_DOMAIN=api.themoviedb.org
|
||||
# 媒体识别来源 themoviedb/douban,使用themoviedb时需要确保能正常连接api.themoviedb.org,使用douban时不支持二级分类
|
||||
RECOGNIZE_SOURCE=themoviedb
|
||||
# Fanart开关
|
||||
FANART_ENABLE=true
|
||||
# 新增已入库媒体是否跟随TMDB信息变化,true/false,为false时即使TMDB信息变化时也会仍然按历史记录中已入库的信息进行刮削
|
||||
SCRAP_FOLLOW_TMDB=true
|
||||
# 刮削来源 themoviedb/douban,使用themoviedb时需要确保能正常连接api.themoviedb.org,使用douban时会缺失部分信息
|
||||
SCRAP_SOURCE=themoviedb
|
||||
# 电影重命名格式,Jinja2语法,参考:https://jinja.palletsprojects.com/en/3.0.x/templates/
|
||||
MOVIE_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}
|
||||
# 电视剧重命名格式,Jinja2语法,参考:https://jinja.palletsprojects.com/en/3.0.x/templates/
|
||||
TV_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}
|
||||
# 交互搜索自动下载用户ID(消息通知渠道的用户ID),使用,分割,设置为 all 代表所有用户自动择优下载,未设置需要用户手动选择资源或者回复`0`才自动择优下载
|
||||
AUTO_DOWNLOAD_USER=
|
||||
# 自动下载站点字幕(如有)
|
||||
DOWNLOAD_SUBTITLE=true
|
||||
# OCR服务器地址
|
||||
OCR_HOST=https://movie-pilot.org
|
||||
# 插件市场仓库地址,多个地址使用`,`分隔,保留最后的/
|
||||
PLUGIN_MARKET=https://github.com/jxxghp/MoviePilot-Plugins,https://github.com/thsrite/MoviePilot-Plugins,https://github.com/InfinityPacer/MoviePilot-Plugins,https://github.com/honue/MoviePilot-Plugins
|
||||
# 搜索多个名称,true/false,为true时搜索时会同时搜索中英文及原始名称,搜索结果会更全面,但会增加搜索时间;为false时其中一个名称搜索到结果或全部名称搜索完毕即停止
|
||||
SEARCH_MULTIPLE_NAME=true
|
||||
|
||||
|
||||
# 自定义配置
|
||||
AUTH_SITE="iyuu,hhclub,audiences,hddolby,zmpt,freefarm,hdfans,wintersakura,leaves,ptba,icc2022,xingtan,ptvicomo,agsvpt,hdkyl,qingwa,discfan,haidan,rousi"
|
||||
19
apps/movie-pilot/1.9.19/scripts/init.sh
Normal file
19
apps/movie-pilot/1.9.19/scripts/init.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
# setup-1 add default values
|
||||
CURRENT_DIR=$(pwd)
|
||||
sed -i '/^ENV_FILE=/d' .env
|
||||
sed -i '/^GLOBAL_ENV_FILE=/d' .env
|
||||
sed -i '/^APP_ENV_FILE=/d' .env
|
||||
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
|
||||
echo "APP_ENV_FILE=${CURRENT_DIR}/envs/movie-pilot.env" >> .env
|
||||
|
||||
echo "Check Finish."
|
||||
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
10
apps/movie-pilot/1.9.19/scripts/uninstall.sh
Normal file
10
apps/movie-pilot/1.9.19/scripts/uninstall.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
echo "Check Finish."
|
||||
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
18
apps/movie-pilot/1.9.19/scripts/upgrade.sh
Normal file
18
apps/movie-pilot/1.9.19/scripts/upgrade.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
# setup-1 add default values
|
||||
CURRENT_DIR=$(pwd)
|
||||
sed -i '/^ENV_FILE=/d' .env
|
||||
sed -i '/^GLOBAL_ENV_FILE=/d' .env
|
||||
sed -i '/^APP_ENV_FILE=/d' .env
|
||||
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
|
||||
echo "APP_ENV_FILE=${CURRENT_DIR}/envs/movie-pilot.env" >> .env
|
||||
|
||||
echo "Check Finish."
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
103
apps/movie-pilot/2.5.5/data.yml
Normal file
103
apps/movie-pilot/2.5.5/data.yml
Normal file
@@ -0,0 +1,103 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: "/home/movie-pilot"
|
||||
edit: true
|
||||
envKey: MOVIEPILOT_ROOT_PATH
|
||||
labelZh: 数据持久化路径
|
||||
labelEn: Data persistence path
|
||||
required: true
|
||||
type: text
|
||||
- default: 3000
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelZh: WebUI 端口
|
||||
labelEn: WebUI Port
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: 3001
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_API
|
||||
labelZh: API 端口
|
||||
labelEn: API Port
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: "admin"
|
||||
edit: true
|
||||
envKey: SUPERUSER
|
||||
labelZh: 管理员用户名
|
||||
labelEn: Superuser Username
|
||||
required: true
|
||||
type: text
|
||||
- default: "moviepilot"
|
||||
edit: true
|
||||
envKey: API_TOKEN
|
||||
labelZh: API 令牌
|
||||
labelEn: API Token
|
||||
required: true
|
||||
type: password
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: PROXY_HOST
|
||||
labelZh: 网络代理
|
||||
labelEn: Proxy Host
|
||||
required: false
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
- default: "false"
|
||||
edit: true
|
||||
envKey: MOVIEPILOT_AUTO_UPDATE
|
||||
labelZh: 重启时自动更新
|
||||
labelEn: Auto Update on Restart
|
||||
required: true
|
||||
type: select
|
||||
values:
|
||||
- label: 开启
|
||||
value: "true"
|
||||
- label: 关闭
|
||||
value: "false"
|
||||
- label: 发布版
|
||||
value: "release"
|
||||
- label: 开发板
|
||||
value: "dev"
|
||||
- default: "false"
|
||||
edit: true
|
||||
envKey: AUTO_UPDATE_RESOURCE
|
||||
labelZh: 自动更新资源包
|
||||
labelEn: Auto Update Resources
|
||||
required: true
|
||||
type: select
|
||||
values:
|
||||
- label: 开启
|
||||
value: "true"
|
||||
- label: 关闭
|
||||
value: "false"
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: CUSTOM_MOUNT_DIRECTORY_1
|
||||
labelEn: Custom mount directory 1
|
||||
labelZh: 自定义挂载目录 1
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: CUSTOM_MOUNT_DIRECTORY_2
|
||||
labelEn: Custom mount directory 2
|
||||
labelZh: 自定义挂载目录 2
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: CUSTOM_MOUNT_DIRECTORY_3
|
||||
labelEn: Custom mount directory 3
|
||||
labelZh: 自定义挂载目录 3
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: IYUU_SIGN
|
||||
labelEn: IYUU Sign
|
||||
labelZh: IYUU登录令牌
|
||||
required: false
|
||||
type: password
|
||||
46
apps/movie-pilot/2.5.5/docker-compose.yml
Normal file
46
apps/movie-pilot/2.5.5/docker-compose.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
|
||||
services:
|
||||
movie-pilot-v2:
|
||||
image: jxxghp/moviepilot-v2:2.5.5
|
||||
container_name: ${CONTAINER_NAME}
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
restart: always
|
||||
stdin_open: true
|
||||
tty: true
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- ${PANEL_APP_PORT_HTTP}:3000
|
||||
- ${PANEL_APP_PORT_API}:3001
|
||||
env_file:
|
||||
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
|
||||
- ${APP_ENV_FILE:-/etc/1panel/envs/movie-pilot/movie-pilot2.env}
|
||||
- ${ENV_FILE:-/etc/1panel/envs/default.env}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ${MOVIEPILOT_ROOT_PATH}/config:/config
|
||||
- ${MOVIEPILOT_ROOT_PATH}/ms-playwright:/moviepilot/.cache/ms-playwright
|
||||
- ${MOVIEPILOT_ROOT_PATH}/download:/download
|
||||
- ${MOVIEPILOT_ROOT_PATH}/media:/media
|
||||
- ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1}
|
||||
- ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2}
|
||||
- ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3}
|
||||
environment:
|
||||
- NGINX_PORT=3000
|
||||
- PORT=3001
|
||||
- PUID=0
|
||||
- PGID=0
|
||||
- UMASK=022
|
||||
- TZ=Asia/Shanghai
|
||||
- CACHE_BACKEND_TYPE=cachetools
|
||||
- AUTH_SITE=iyuu,hhclub,audiences,hddolby,zmpt,freefarm,hdfans,wintersakura,leaves,ptba,icc2022,xingtan,ptvicomo,agsvpt,hdkyl,qingwa,discfan,haidan,rousi,sunny,ptcafe,ptzone,kufei,yemapt
|
||||
- HTTP_PROXY=${PROXY_HOST}
|
||||
- HTTPS_PROXY=${PROXY_HOST}
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 5m
|
||||
2
apps/movie-pilot/2.5.5/envs/default.env
Normal file
2
apps/movie-pilot/2.5.5/envs/default.env
Normal file
@@ -0,0 +1,2 @@
|
||||
# copyright© 2024 XinJiang Ms Studio
|
||||
ENV_FILE=.env
|
||||
2
apps/movie-pilot/2.5.5/envs/global.env
Normal file
2
apps/movie-pilot/2.5.5/envs/global.env
Normal file
@@ -0,0 +1,2 @@
|
||||
# copyright© 2024 XinJiang Ms Studio
|
||||
TZ=Asia/Shanghai
|
||||
63
apps/movie-pilot/2.5.5/envs/movie-pilot.env
Normal file
63
apps/movie-pilot/2.5.5/envs/movie-pilot.env
Normal file
@@ -0,0 +1,63 @@
|
||||
#######################################################################
|
||||
# 【*】为必配项,其余为选配项,选配项可以删除整项配置项或者保留配置默认值 #
|
||||
#######################################################################
|
||||
# 【*】API监听地址(注意不是前端访问地址)
|
||||
HOST=0.0.0.0
|
||||
# 是否调试模式,打开后将输出更多日志
|
||||
DEBUG=false
|
||||
# 是否开发模式,打开后后台服务将不会启动
|
||||
DEV=false
|
||||
# 日志级别(DEBUG、INFO、WARNING、ERROR等),当DEBUG=true时,此配置项将被忽略,日志级别始终为DEBUG
|
||||
LOG_LEVEL=INFO
|
||||
# 数据库连接池的大小,可适当降低如20-50以减少I/O压力
|
||||
DB_POOL_SIZE=100
|
||||
# 数据库连接池最大溢出连接数,可适当降低如0以减少I/O压力
|
||||
DB_MAX_OVERFLOW=500
|
||||
# SQLite 的 busy_timeout 参数,可适当增加如180以减少锁定错误
|
||||
DB_TIMEOUT=60
|
||||
# 【*】超级管理员,设置后一但重启将固化到数据库中,修改将无效(初始化超级管理员密码仅会生成一次,请在日志中查看并自行登录系统修改)
|
||||
SUPERUSER=admin
|
||||
# 辅助认证,允许通过外部服务进行认证、单点登录以及自动创建用户
|
||||
AUXILIARY_AUTH_ENABLE=false
|
||||
# 大内存模式,开启后会增加缓存数量,但会占用更多内存
|
||||
BIG_MEMORY_MODE=false
|
||||
# 是否启用DOH域名解析,启用后对于api.themovie.org等域名通过DOH解析,避免域名DNS被污染
|
||||
DOH_ENABLE=true
|
||||
# 使用 DOH 解析的域名列表,多个域名使用`,`分隔
|
||||
DOH_DOMAINS=api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org
|
||||
# DOH 解析服务器列表,多个服务器使用`,`分隔
|
||||
DOH_RESOLVERS=1.0.0.1,1.1.1.1,9.9.9.9,149.112.112.112
|
||||
# 元数据识别缓存过期时间,数字型,单位小时,0为系统默认(大内存模式为7天,滞则为3天),调大该值可减少themoviedb的访问次数
|
||||
META_CACHE_EXPIRE=0
|
||||
# 自动检查和更新站点资源包(索引、认证等)
|
||||
AUTO_UPDATE_RESOURCE=true
|
||||
# 【*】API密钥,未设置时系统将随机生成,建议使用复杂字符串,用于Jellyseerr/Overseerr、媒体服务器Webhook等配置以及部分支持API_TOKEN的API请求
|
||||
API_TOKEN=''
|
||||
# 登录页面电影海报,tmdb/bing/mediaserver,tmdb要求能正常连接api.themoviedb.org
|
||||
WALLPAPER=tmdb
|
||||
# TMDB图片地址,无需修改需保留默认值,如果默认地址连通性不好可以尝试修改为:`static-mdb.v.geilijiasu.com`
|
||||
TMDB_IMAGE_DOMAIN=image.tmdb.org
|
||||
# TMDB API地址,无需修改需保留默认值,也可配置为`api.tmdb.org`或其它中转代理服务地址,能连通即可
|
||||
TMDB_API_DOMAIN=api.themoviedb.org
|
||||
# 媒体识别来源 themoviedb/douban,使用themoviedb时需要确保能正常连接api.themoviedb.org,使用douban时不支持二级分类
|
||||
RECOGNIZE_SOURCE=themoviedb
|
||||
# Fanart开关
|
||||
FANART_ENABLE=true
|
||||
# 新增已入库媒体是否跟随TMDB信息变化,true/false,为false时即使TMDB信息变化时也会仍然按历史记录中已入库的信息进行刮削
|
||||
SCRAP_FOLLOW_TMDB=true
|
||||
# 刮削来源 themoviedb/douban,使用themoviedb时需要确保能正常连接api.themoviedb.org,使用douban时会缺失部分信息
|
||||
SCRAP_SOURCE=themoviedb
|
||||
# 电影重命名格式,Jinja2语法,参考:https://jinja.palletsprojects.com/en/3.0.x/templates/
|
||||
MOVIE_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}
|
||||
# 电视剧重命名格式,Jinja2语法,参考:https://jinja.palletsprojects.com/en/3.0.x/templates/
|
||||
TV_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}
|
||||
# 交互搜索自动下载用户ID(消息通知渠道的用户ID),使用,分割,设置为 all 代表所有用户自动择优下载,未设置需要用户手动选择资源或者回复`0`才自动择优下载
|
||||
AUTO_DOWNLOAD_USER=
|
||||
# 自动下载站点字幕(如有)
|
||||
DOWNLOAD_SUBTITLE=true
|
||||
# OCR服务器地址
|
||||
OCR_HOST=https://movie-pilot.org
|
||||
# 插件市场仓库地址,多个地址使用`,`分隔,保留最后的/
|
||||
PLUGIN_MARKET=https://github.com/jxxghp/MoviePilot-Plugins,https://github.com/thsrite/MoviePilot-Plugins,https://github.com/InfinityPacer/MoviePilot-Plugins,https://github.com/honue/MoviePilot-Plugins
|
||||
# 搜索多个名称,true/false,为true时搜索时会同时搜索中英文及原始名称,搜索结果会更全面,但会增加搜索时间;为false时其中一个名称搜索到结果或全部名称搜索完毕即停止
|
||||
SEARCH_MULTIPLE_NAME=true
|
||||
19
apps/movie-pilot/2.5.5/scripts/init.sh
Normal file
19
apps/movie-pilot/2.5.5/scripts/init.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
# setup-1 add default values
|
||||
CURRENT_DIR=$(pwd)
|
||||
sed -i '/^ENV_FILE=/d' .env
|
||||
sed -i '/^GLOBAL_ENV_FILE=/d' .env
|
||||
sed -i '/^APP_ENV_FILE=/d' .env
|
||||
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
|
||||
echo "APP_ENV_FILE=${CURRENT_DIR}/envs/movie-pilot.env" >> .env
|
||||
|
||||
echo "Check Finish."
|
||||
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
10
apps/movie-pilot/2.5.5/scripts/uninstall.sh
Normal file
10
apps/movie-pilot/2.5.5/scripts/uninstall.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
echo "Check Finish."
|
||||
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
18
apps/movie-pilot/2.5.5/scripts/upgrade.sh
Normal file
18
apps/movie-pilot/2.5.5/scripts/upgrade.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
source .env
|
||||
|
||||
# setup-1 add default values
|
||||
CURRENT_DIR=$(pwd)
|
||||
sed -i '/^ENV_FILE=/d' .env
|
||||
sed -i '/^GLOBAL_ENV_FILE=/d' .env
|
||||
sed -i '/^APP_ENV_FILE=/d' .env
|
||||
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
|
||||
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
|
||||
echo "APP_ENV_FILE=${CURRENT_DIR}/envs/movie-pilot.env" >> .env
|
||||
|
||||
echo "Check Finish."
|
||||
else
|
||||
echo "Error: .env file not found."
|
||||
fi
|
||||
127
apps/movie-pilot/README.md
Normal file
127
apps/movie-pilot/README.md
Normal file
@@ -0,0 +1,127 @@
|
||||
# MoviePilot
|
||||
|
||||
MoviePilot 基于 NAStool 部分代码重新设计,聚焦自动化核心需求,减少问题同时更易于扩展和维护
|
||||
|
||||
> 仪表盘
|
||||
|
||||

|
||||
|
||||
> 插件库
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## 安装环境
|
||||
|
||||
安装前的准备说明
|
||||
|
||||
### 网络
|
||||
|
||||
MoviePilot通过调用 TheMovieDb 的Api来读取和匹配媒体元数据,通过访问 Github 来执行程序升级、安装插件等。
|
||||
|
||||
### Linux 系统
|
||||
|
||||
部分功能基于文件系统监控实现(如目录监控等),监控的文件较多时,往往会因为操作系统默认允许的文件句柄数太小导致报错,相关功能失效。
|
||||
需在宿主机操作系统上(不是docker容器内)执行以下命令并重启生效:
|
||||
|
||||
```shell
|
||||
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
|
||||
echo fs.inotify.max_user_instances=524288 | sudo tee -a /etc/sysctl.conf
|
||||
sudo sysctl -p
|
||||
```
|
||||
|
||||
### 站点
|
||||
|
||||
MoviePilot包括两大部分功能:文件整理刮削、资源订阅下载,其中资源订阅下载功能需要有可用的PT站点。
|
||||
|
||||
#### 用户认证
|
||||
|
||||
为了控制用户数量避免大规范泛滥使用,MoviePilot引入了PT用户认证机制,你需要有认证站点范围内的账号才能使用软件的资源搜索、订阅及下载功能,出此下策与利益无关,属NAStool一路走来,吸取失败经验的无奈之举。
|
||||
|
||||
> 站点配置参数
|
||||
>
|
||||
> 安装应用时(除IYUU外),填写格式为 参数名=值,例如:
|
||||
>
|
||||
> `HHCLUB_USERNAME=xxxxx`
|
||||
>
|
||||
> `HHCLUB_PASSKEY=xxxxx`
|
||||
|
||||
| 站点 | 用户名(用户ID) | 密钥(授权码) |
|
||||
|:------------:|:------------------:|------------------------|
|
||||
| iyuu | `IYUU_SIGN` | `无` |
|
||||
| hhclub | `HHCLUB_USERNAME` | `HHCLUB_PASSKEY` |
|
||||
| audiences | `AUDIENCES_UID` | `AUDIENCES_PASSKEY` |
|
||||
| hddolby | `HDDOLBY_ID` | `HDDOLBY_PASSKEY` |
|
||||
| zmpt | `ZMPT_UID` | `ZMPT_PASSKEY` |
|
||||
| freefarm | `FREEFARM_UID` | `FREEFARM_PASSKEY` |
|
||||
| hdfans | `HDFANS_UID` | `HDFANS_PASSKEY` |
|
||||
| wintersakura | `WINTERSAKURA_UID` | `WINTERSAKURA_PASSKEY` |
|
||||
| leaves | `LEAVES_UID` | `LEAVES_PASSKEY` |
|
||||
| ptba | `PTBA_UID` | `PTBA_PASSKEY` |
|
||||
| icc2022 | `ICC2022_UID` | `ICC2022_PASSKEY` |
|
||||
| xingtan | `XINGTAN_UID` | `XINGTAN_PASSKEY` |
|
||||
| ptvicomo | `PTVICOMO_UID` | `PTVICOMO_PASSKEY` |
|
||||
| agsvpt | `AGSVPT_UID` | `AGSVPT_PASSKEY` |
|
||||
| hdkyl | `HDKYL_UID` | `HDKYL_PASSKEY` |
|
||||
| qingwa | `QINGWA_UID` | `QINGWA_PASSKEY` |
|
||||
| discfan | `DISCFAN_UID` | `DISCFAN_PASSKEY` |
|
||||
|
||||
### 配套软件
|
||||
|
||||
MoviePilot只是媒体库自动化管理的一环,需要通过调用下载器来完成资源的下载,需要通过媒体服务器来管理和展示媒体资源,同时通过媒体服务器Api来查询库存情况控制重复下载,通过CookieCloud来快速同步站点Cookie和新增站点。安装前需要先完成配套软件的安装。
|
||||
|
||||
#### 下载器
|
||||
|
||||
+ Qbittorrent `^4.3.9`
|
||||
+ Transmission `^3.0`
|
||||
|
||||
#### 媒体服务器
|
||||
|
||||
+ Emby `^4.8.0.45`
|
||||
+ Jellyfin `新版`
|
||||
+ Plex `新版`
|
||||
|
||||
#### CookieCloud
|
||||
|
||||
+ CookieCloud服务端 `可选`
|
||||
|
||||
MoviePilot已经内置了CookieCloud服务端,如需独立安装可参考 easychen/CookieCloud 说明
|
||||
|
||||
+ CookieCloud浏览器插件
|
||||
|
||||
不管是使用CookieCloud独立服务端还是使用内置服务,都需要安装浏览器插件。
|
||||
|
||||
## 安装说明
|
||||
|
||||
+ 用户初始密码
|
||||
|
||||
前往 `日志` 页面查看初始密码,首次登录后请及时修改密码
|
||||
|
||||
## 反向代理
|
||||
|
||||
如需开启域名访问MoviePilot,则需要搭建反向代理服务。以nginx为例,需要添加以下配置项。
|
||||
|
||||
```nginx
|
||||
location / {
|
||||
proxy_pass http://${Host}:${Port};
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
```
|
||||
|
||||
反向代理使用SSL时,还需要开启http2,否则会导致日志加载时间过长或不可用。
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 443 ssl;
|
||||
http2 on;
|
||||
# other settings
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||

|
||||
14
apps/movie-pilot/data.yml
Normal file
14
apps/movie-pilot/data.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
additionalProperties:
|
||||
key: movie-pilot
|
||||
name: MoviePilot
|
||||
tags:
|
||||
- WebSite
|
||||
- Local
|
||||
shortDescZh: NAS媒体库自动化管理工具
|
||||
shortDescEn: NAS media library automation management tool
|
||||
type: website
|
||||
crossVersionUpdate: false
|
||||
limit: 0
|
||||
website: https://github.com/jxxghp/MoviePilot/
|
||||
github: https://github.com/jxxghp/MoviePilot/
|
||||
document: https://wiki.movie-pilot.org/
|
||||
BIN
apps/movie-pilot/logo.png
Normal file
BIN
apps/movie-pilot/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
Reference in New Issue
Block a user