1
0

Merge QYG2297248353/appstore-1panel into pooneyy/1Panel-Appstore

This commit is contained in:
pooneyy
2025-06-14 16:56:25 +08:00
1733 changed files with 48687 additions and 0 deletions

View 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

View 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

View File

@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env

View File

@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai

View 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/bingtmdb要求能正常连接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"

View 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

View File

@@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View 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

View 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

View 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

View File

@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env

View File

@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai

View 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/mediaservertmdb要求能正常连接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

View 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

View File

@@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View 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
View File

@@ -0,0 +1,127 @@
# MoviePilot
MoviePilot 基于 NAStool 部分代码重新设计,聚焦自动化核心需求,减少问题同时更易于扩展和维护
> 仪表盘
![MoviePilot-Dashboard](https://file.lifebus.top/imgs/movie_pilot_cover.png)
> 插件库
![MoviePilot-Plugin](https://file.lifebus.top/imgs/movie_pilot_plugin.png)
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 安装环境
安装前的准备说明
### 网络
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
}
```
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)

14
apps/movie-pilot/data.yml Normal file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB