From 3d0aa7da2276d52fd81c9a6af7ad061c7d8c1c51 Mon Sep 17 00:00:00 2001 From: okxlin Date: Tue, 14 May 2024 00:51:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0moviepilot=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/moviepilot/1.8.7/.env.sample | 120 +++ apps/moviepilot/1.8.7/data.yml | 977 ++++++++++++++++++++++ apps/moviepilot/1.8.7/docker-compose.yml | 139 +++ apps/moviepilot/README.md | 11 + apps/moviepilot/data.yml | 19 + apps/moviepilot/latest/.env.sample | 120 +++ apps/moviepilot/latest/data.yml | 977 ++++++++++++++++++++++ apps/moviepilot/latest/docker-compose.yml | 139 +++ apps/moviepilot/logo.png | Bin 0 -> 3196 bytes 9 files changed, 2502 insertions(+) create mode 100644 apps/moviepilot/1.8.7/.env.sample create mode 100644 apps/moviepilot/1.8.7/data.yml create mode 100644 apps/moviepilot/1.8.7/docker-compose.yml create mode 100644 apps/moviepilot/README.md create mode 100644 apps/moviepilot/data.yml create mode 100644 apps/moviepilot/latest/.env.sample create mode 100644 apps/moviepilot/latest/data.yml create mode 100644 apps/moviepilot/latest/docker-compose.yml create mode 100644 apps/moviepilot/logo.png diff --git a/apps/moviepilot/1.8.7/.env.sample b/apps/moviepilot/1.8.7/.env.sample new file mode 100644 index 00000000..ef4ad8db --- /dev/null +++ b/apps/moviepilot/1.8.7/.env.sample @@ -0,0 +1,120 @@ +AGSVPT_PASSKEY="" +AGSVPT_UID="" +API_TOKEN="roduqib1o8ldrl8uyax7" +AUDIENCES_PASSKEY="" +AUDIENCES_UID="" +AUTH_SITE="audiences" +AUTO_DOWNLOAD_USER="" +BIG_MEMORY_MODE="false" +CONFIG_PATH="./data/config" +CONTAINER_NAME="moviepilot" +COOKIECLOUD_HOST="" +COOKIECLOUD_INTERVAL="20" +COOKIECLOUD_KEY="" +COOKIECLOUD_PASSWORD="" +CORE_PATH="./data/core" +DISCFAN_PASSKEY="" +DISCFAN_UID="" +DOCKER_SOCK_PATH="/var/run/docker.sock" +DOWNLOADER="qbittorrent" +DOWNLOADER_MONITOR="true" +DOWNLOAD_ANIME_PATH="/media/downloads/anime" +DOWNLOAD_CATEGORY="false" +DOWNLOAD_MOVIE_PATH="/media/downloads/movies" +DOWNLOAD_PATH="/media/downloads" +DOWNLOAD_SUBTITLE="false" +DOWNLOAD_TV_PATH="/media/downloads/tv" +EMBY_API_KEY="" +EMBY_HOST="" +FREEFARM_PASSKEY="" +FREEFARM_UID="" +GROUP_ID="0" +HDDOLBY_ID="" +HDDOLBY_PASSKEY="" +HDFANS_PASSKEY="" +HDFANS_UID="" +HDKYL_PASSKEY="" +HDKYL_UID="" +HHCLUB_PASSKEY="" +HHCLUB_USERNAME="" +HOSTNAME="moviepilot" +ICC2022_PASSKEY="" +ICC2022_UID="" +IYUU_SIGN="" +JELLYFIN_API_KEY="" +JELLYFIN_HOST="" +LEAVES_PASSKEY="" +LEAVES_UID="" +LIBRARY_ANIME_NAME="anime" +LIBRARY_CATEGORY="false" +LIBRARY_MOVIE_NAME="movies" +LIBRARY_PATH="/media" +LIBRARY_TV_NAME="tv" +MEDIASERVER="emby" +MEDIASERVER_SYNC_BLACKLIST="" +MEDIASERVER_SYNC_INTERVAL="6" +MEDIA_PATH="./data/media" +MESSAGER="telegram" +MOVIEPILOT_AUTO_UPDATE="release" +MOVIE_RENAME_FORMAT="{{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}" +OVERWRITE_MODE="size" +PANEL_APP_PORT_API="40242" +PANEL_APP_PORT_HTTP="40241" +PLEX_HOST="" +PLEX_TOKEN="" +PLUGIN_MARKET="https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/" +PROXY_HOST="" +PTBA_PASSKEY="" +PTBA_UID="" +PTLSP_PASSKEY="" +PTLSP_UID="" +PTVICOMO_PASSKEY="" +PTVICOMO_UID="" +QB_FORCE_RESUME="false" +QB_HOST="" +QB_PASSWORD="" +QB_SEQUENTIAL="true" +QB_USER="" +QINGWA_PASSKEY="" +QINGWA_UID="" +SCRAP_FOLLOW_TMDB="true" +SCRAP_METADATA="true" +SLACK_APP_TOKEN="" +SLACK_CHANNEL="" +SLACK_OAUTH_TOKEN="" +SUBSCRIBE_MODE="spider" +SUBSCRIBE_RSS_INTERVAL="30" +SUBSCRIBE_SEARCH="false" +SUPERUSER="admin" +SUPERUSER_PASSWORD="password_fB7A2j" +SYNOLOGYCHAT_TOKEN="" +SYNOLOGYCHAT_WEBHOOK="" +TELEGRAM_ADMINS="" +TELEGRAM_CHAT_ID="" +TELEGRAM_TOKEN="" +TELEGRAM_USERS="" +TMDB_API_DOMAIN="api.themoviedb.org" +TORRENT_TAG="MOVIEPILOT" +TRANSFER_TYPE="link" +TR_HOST="" +TR_PASSWORD="" +TR_USER="" +TV_RENAME_FORMAT="{{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}" +TZ="Asia/Shanghai" +UMASK="22" +USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" +USER_ID="0" +WALLPAPER="tmdb" +WECHAT_ADMINS="" +WECHAT_APP_ID="" +WECHAT_APP_SECRET="" +WECHAT_CORPID="" +WECHAT_ENCODING_AESKEY="" +WECHAT_PROXY="" +WECHAT_TOKEN="" +WINTERSAKURA_PASSKEY="" +WINTERSAKURA_UID="" +XINGTAN_PASSKEY="" +XINGTAN_UID="" +ZMPT_PASSKEY="" +ZMPT_UID="" diff --git a/apps/moviepilot/1.8.7/data.yml b/apps/moviepilot/1.8.7/data.yml new file mode 100644 index 00000000..4ece8506 --- /dev/null +++ b/apps/moviepilot/1.8.7/data.yml @@ -0,0 +1,977 @@ +additionalProperties: + formFields: + - default: "./data/config" + edit: true + envKey: CONFIG_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "./data/core" + edit: true + envKey: CORE_PATH + labelEn: Core Path + labelZh: 核心路径 + required: true + type: text + - default: "/var/run/docker.sock" + edit: true + envKey: DOCKER_SOCK_PATH + labelEn: Docker Socket Path + labelZh: Docker套接字路径 + required: true + type: text + - default: "./data/media" + edit: true + envKey: MEDIA_PATH + labelEn: Media Path + labelZh: 媒体路径 + required: true + type: text + - default: "moviepilot" + edit: true + envKey: HOSTNAME + labelEn: Hostname + labelZh: 主机名 + required: true + type: text + - default: "022" + edit: true + envKey: UMASK + labelEn: File Umask + labelZh: 文件掩码 + required: true + type: text + - default: "0" + envKey: USER_ID + labelEn: User ID + labelZh: 用户 ID + required: true + type: number + edit: true + - default: "0" + envKey: GROUP_ID + labelEn: Group ID + labelZh: 用户组 ID + required: true + type: number + edit: true + - default: "Asia/Shanghai" + edit: true + envKey: TZ + labelEn: Timezone + labelZh: 时区 + required: true + type: text + - default: "release" + edit: true + envKey: MOVIEPILOT_AUTO_UPDATE + labelEn: MoviePilot Auto Update + labelZh: MoviePilot 自动更新 + required: true + type: select + values: + - label: "true" + value: "true" + - label: "release" + value: "release" + - label: "dev" + value: "dev" + - label: "false" + value: "false" + - default: "40241" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Panel HTTP Port + labelZh: 面板 HTTP 端口 + required: true + rule: paramPort + type: number + - default: "40242" + edit: true + envKey: PANEL_APP_PORT_API + labelEn: API Port + labelZh: API 端口 + required: true + rule: paramPort + type: number + - default: "admin" + edit: true + envKey: SUPERUSER + labelEn: Superuser Username + labelZh: 超级管理员用户名 + required: true + type: text + - default: "password" + edit: true + envKey: SUPERUSER_PASSWORD + labelEn: Superuser Password + labelZh: 超级管理员密码 + random: true + required: true + rule: paramComplexity + type: password + - default: "tmdb" + edit: true + envKey: WALLPAPER + labelEn: Wallpaper + labelZh: 登录首页电影海报 + required: true + type: select + values: + - label: "tmdb" + value: "tmdb" + - label: "bing" + value: "bing" + - default: "roduqib1o8ldrl8uyax7" + edit: true + envKey: API_TOKEN + labelEn: API Token + labelZh: API 密钥 + required: true + type: text + - default: "" + edit: true + envKey: PROXY_HOST + labelEn: Proxy host + labelZh: 网络代理 + required: false + type: text + - default: "api.themoviedb.org" + edit: true + envKey: TMDB_API_DOMAIN + labelEn: TMDB API Domain + labelZh: TMDB API 地址 + required: true + type: text + - default: "/media/downloads" + edit: true + envKey: DOWNLOAD_PATH + labelEn: Download Path (in container) + labelZh: 下载保存目录 (容器内) + required: true + type: text + - default: "/media/downloads/movies" + edit: true + envKey: DOWNLOAD_MOVIE_PATH + labelEn: Download Movie Path (in container) + labelZh: 电影下载目录 (容器内) + required: true + type: text + - default: "/media/downloads/tv" + edit: true + envKey: DOWNLOAD_TV_PATH + labelEn: Download TV Path (in container) + labelZh: 电视剧下载目录 (容器内) + required: true + type: text + - default: "/media/downloads/anime" + edit: true + envKey: DOWNLOAD_ANIME_PATH + labelEn: Download Anime Path (in container) + labelZh: 动漫下载目录 (容器内) + required: true + type: text + - default: "false" + edit: true + envKey: DOWNLOAD_SUBTITLE + labelEn: Download Subtitle + labelZh: 下载字幕 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "false" + edit: true + envKey: DOWNLOAD_CATEGORY + labelEn: Download Category + labelZh: 下载二级分类 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "true" + edit: true + envKey: DOWNLOADER_MONITOR + labelEn: Downloader Monitor + labelZh: 下载器监控 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "spider" + edit: true + envKey: SUBSCRIBE_MODE + labelEn: Subscribe Mode + labelZh: 订阅模式 + required: true + type: text + - default: "30" + edit: true + envKey: SUBSCRIBE_RSS_INTERVAL + labelEn: Subscribe RSS Interval + labelZh: 订阅 RSS 间隔 + required: true + type: number + - default: "true" + edit: true + envKey: SCRAP_METADATA + labelEn: Scrap Metadata + labelZh: 刮削入库 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "true" + edit: true + envKey: SCRAP_FOLLOW_TMDB + labelEn: Scrap Follow TMDB + labelZh: 刮削跟随 TMDB + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "MOVIEPILOT" + edit: true + envKey: TORRENT_TAG + labelEn: Torrent Tag + labelZh: 种子标签 + required: true + type: text + - default: "/media" + edit: true + envKey: LIBRARY_PATH + labelEn: Library Path (in container) + labelZh: 媒体库路径 (容器内) + required: true + type: text + - default: "movies" + edit: true + envKey: LIBRARY_MOVIE_NAME + labelEn: Library Movie Name + labelZh: 电影媒体库名称 + required: true + type: text + - default: "tv" + edit: true + envKey: LIBRARY_TV_NAME + labelEn: Library TV Name + labelZh: 电视剧媒体库名称 + required: true + type: text + - default: "anime" + edit: true + envKey: LIBRARY_ANIME_NAME + labelEn: Library Anime Name + labelZh: 动漫媒体库名称 + required: true + type: text + - default: "false" + edit: true + envKey: LIBRARY_CATEGORY + labelEn: Library Category + labelZh: 媒体库二级分类 + required: false + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "link" + edit: true + envKey: TRANSFER_TYPE + labelEn: Transfer Type + labelZh: 转移方式 + required: true + type: select + values: + - label: "link" + value: "link" + - label: "copy" + value: "copy" + - label: "move" + value: "move" + - label: "softlink" + value: "softlink" + - default: "size" + edit: true + envKey: OVERWRITE_MODE + labelEn: Overwrite Mode + labelZh: 转移覆盖模式 + required: true + type: select + values: + - label: "nerver" + value: "nerver" + - label: "size" + value: "size" + - label: "always" + value: "always" + - default: "" + edit: true + envKey: COOKIECLOUD_HOST + labelEn: CookieCloud Host + labelZh: CookieCloud 服务器地址 + required: false + type: text + - default: "" + edit: true + envKey: COOKIECLOUD_KEY + labelEn: CookieCloud Key + labelZh: CookieCloud 用户 KEY + required: false + type: text + - default: "" + edit: true + envKey: COOKIECLOUD_PASSWORD + labelEn: CookieCloud Password + labelZh: CookieCloud 密码 + required: false + type: text + - default: "20" + edit: true + envKey: COOKIECLOUD_INTERVAL + labelEn: CookieCloud Interval + labelZh: CookieCloud 同步间隔(分钟) + required: false + type: number + - default: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" + edit: true + envKey: USER_AGENT + labelEn: User Agent + labelZh: 用户代理 + required: true + type: text + - default: "false" + edit: true + envKey: SUBSCRIBE_SEARCH + labelEn: Subscribe Search + labelZh: 订阅搜索 + required: false + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "" + edit: true + envKey: AUTO_DOWNLOAD_USER + labelEn: Auto Download User + labelZh: 自动下载用户 + required: false + type: text + - default: "https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/" + edit: true + envKey: PLUGIN_MARKET + labelEn: Plugin Market + labelZh: 插件市场仓库地址 + required: true + type: text + - default: "telegram" + edit: true + envKey: MESSAGER + labelEn: Messager + labelZh: 消息通知渠道 + required: true + type: select + values: + - label: "telegram" + value: "telegram" + - label: "wechat" + value: "wechat" + - label: "slack" + value: "slack" + - label: "synologychat" + value: "synologychat" + - default: "" + edit: true + envKey: TELEGRAM_TOKEN + labelEn: Telegram Token + labelZh: Telegram Token + required: false + type: text + - default: "" + edit: true + envKey: TELEGRAM_CHAT_ID + labelEn: Telegram Chat ID + labelZh: Telegram Chat ID + required: false + type: text + - default: "" + edit: true + envKey: TELEGRAM_USERS + labelEn: Telegram Users + labelZh: 电报用户 + required: false + type: text + - default: "" + edit: true + envKey: TELEGRAM_ADMINS + labelEn: Telegram Admins + labelZh: 电报管理员 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_CORPID + labelEn: WeChat CorpID + labelZh: 微信企业ID + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_APP_SECRET + labelEn: WeChat App Secret + labelZh: 微信应用密钥 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_APP_ID + labelEn: WeChat App ID + labelZh: 微信应用ID + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_TOKEN + labelEn: WeChat Token + labelZh: 微信令牌 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_ENCODING_AESKEY + labelEn: WeChat Encoding AES Key + labelZh: 微信编码 AES 密钥 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_ADMINS + labelEn: WeChat Admins + labelZh: 微信管理员 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_PROXY + labelEn: WeChat Proxy + labelZh: 微信代理 + required: false + type: text + - default: "" + edit: true + envKey: SLACK_OAUTH_TOKEN + labelEn: Slack OAuth Token + labelZh: Slack OAuth 令牌 + required: false + type: text + - default: "" + edit: true + envKey: SLACK_APP_TOKEN + labelEn: Slack App Token + labelZh: Slack 应用令牌 + required: false + type: text + - default: "" + edit: true + envKey: SLACK_CHANNEL + labelEn: Slack Channel + labelZh: Slack 频道 + required: false + type: text + - default: "" + edit: true + envKey: SYNOLOGYCHAT_WEBHOOK + labelEn: Synology Chat Webhook + labelZh: 群晖聊天 Webhook + required: false + type: text + - default: "" + edit: true + envKey: SYNOLOGYCHAT_TOKEN + labelEn: Synology Chat Token + labelZh: 群晖聊天令牌 + required: false + type: text + - default: "qbittorrent" + edit: true + envKey: DOWNLOADER + labelEn: Downloader + labelZh: 下载器 + required: true + type: select + values: + - label: qBittorrent + value: "qbittorrent" + - label: Transmission + value: "transmission" + - default: "" + edit: true + envKey: QB_HOST + labelEn: QB Host + labelZh: qBittorrent 主机地址 + required: false + type: text + - default: "" + edit: true + envKey: QB_USER + labelEn: QB User + labelZh: qBittorrent 用户名 + required: false + type: text + - default: "" + edit: true + envKey: QB_PASSWORD + labelEn: QB Password + labelZh: qBittorrent 密码 + required: false + type: text + - default: "true" + edit: true + envKey: QB_SEQUENTIAL + labelEn: QB Sequential + labelZh: qBittorrent 顺序下载 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "false" + edit: true + envKey: QB_FORCE_RESUME + labelEn: QB Force Resume + labelZh: qBittorrent 强制继续下载 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "" + edit: true + envKey: TR_HOST + labelEn: Transmission Host + labelZh: Transmission 主机 + required: false + type: text + - default: "" + edit: true + envKey: TR_USER + labelEn: Transmission Username + labelZh: Transmission 用户名 + required: false + type: text + - default: "" + edit: true + envKey: TR_PASSWORD + labelEn: Transmission Password + labelZh: Transmission 密码 + required: false + type: password + - default: "emby" + edit: true + envKey: MEDIASERVER + labelEn: Media Server + labelZh: 媒体服务器 + required: true + type: select + values: + - label: Emby + value: "emby" + - label: Jellyfin + value: "jellyfin" + - label: Plex + value: "plex" + - default: "" + edit: true + envKey: EMBY_HOST + labelEn: Emby Host + labelZh: Emby 主机地址 + required: false + type: text + - default: "" + edit: true + envKey: EMBY_API_KEY + labelEn: Emby API Key + labelZh: Emby API 密钥 + required: false + type: text + - default: "" + edit: true + envKey: JELLYFIN_HOST + labelEn: Jellyfin Host + labelZh: Jellyfin 主机 + required: false + type: text + - default: "" + edit: true + envKey: JELLYFIN_API_KEY + labelEn: Jellyfin API Key + labelZh: Jellyfin API 密钥 + required: false + type: text + - default: "" + edit: true + envKey: PLEX_HOST + labelEn: Plex Host + labelZh: Plex 主机 + required: false + type: text + - default: "" + edit: true + envKey: PLEX_TOKEN + labelEn: Plex Token + labelZh: Plex 令牌 + required: false + type: text + - default: "6" + edit: true + envKey: MEDIASERVER_SYNC_INTERVAL + labelEn: Media Server Sync Interval + labelZh: 媒体服务器同步间隔(小时) + required: true + type: number + - default: "" + edit: true + envKey: MEDIASERVER_SYNC_BLACKLIST + labelEn: Media Server Sync Blacklist + labelZh: 媒体服务器同步黑名单 + required: false + type: text + - default: "audiences" + edit: true + envKey: AUTH_SITE + labelEn: Authentication Site + labelZh: 认证站点 + required: true + type: select + values: + - label: "iyuu" + value: "iyuu" + - label: "hhclub" + value: "hhclub" + - label: "audiences" + value: "audiences" + - label: "hddolby" + value: "hddolby" + - label: "zmpt" + value: "zmpt" + - label: "freefarm" + value: "freefarm" + - label: "hdfans" + value: "hdfans" + - label: "wintersakura" + value: "wintersakura" + - label: "leaves" + value: "leaves" + - label: "ptba" + value: "ptba" + - label: "icc2022" + value: "icc2022" + - label: "ptlsp" + value: "ptlsp" + - label: "xingtan" + value: "xingtan" + - label: "ptvicomo" + value: "ptvicomo" + - label: "agsvpt" + value: "agsvpt" + - label: "hdkyl" + value: "hdkyl" + - label: "qingwa" + value: "qingwa" + - label: "discfan" + value: "discfan" + - default: "" + edit: true + envKey: IYUU_SIGN + labelEn: IYUU Sign + labelZh: IYUU 登录令牌 + required: false + type: text + - default: "" + edit: true + envKey: HHCLUB_USERNAME + labelEn: HHClub Username + labelZh: HHClub 用户名 + required: false + type: text + - default: "" + edit: true + envKey: HHCLUB_PASSKEY + labelEn: HHClub Passkey + labelZh: HHClub 密钥 + required: false + type: text + - default: "" + edit: true + envKey: AUDIENCES_UID + labelEn: Audiences UID + labelZh: Audiences 用户ID + required: false + type: text + - default: "" + edit: true + envKey: AUDIENCES_PASSKEY + labelEn: Audiences Passkey + labelZh: Audiences 密钥 + required: false + type: text + - default: "" + edit: true + envKey: HDDOLBY_ID + labelEn: HDDolby ID + labelZh: HDDolby 用户ID + required: false + type: text + - default: "" + edit: true + envKey: HDDOLBY_PASSKEY + labelEn: HDDolby Passkey + labelZh: HDDolby 密钥 + required: false + type: text + - default: "" + edit: true + envKey: ZMPT_UID + labelEn: ZMPT UID + labelZh: ZMPT 用户ID + required: false + type: text + - default: "" + edit: true + envKey: ZMPT_PASSKEY + labelEn: ZMPT Passkey + labelZh: ZMPT 密钥 + required: false + type: text + - default: "" + edit: true + envKey: FREEFARM_UID + labelEn: FreeFarm UID + labelZh: FreeFarm 用户ID + required: false + type: text + - default: "" + edit: true + envKey: FREEFARM_PASSKEY + labelEn: FreeFarm Passkey + labelZh: FreeFarm 密钥 + required: false + type: text + - default: "" + edit: true + envKey: HDFANS_UID + labelEn: HDFans UID + labelZh: HDFans 用户ID + required: false + type: text + - default: "" + edit: true + envKey: HDFANS_PASSKEY + labelEn: HDFans Passkey + labelZh: HDFans 密钥 + required: false + type: text + - default: "" + edit: true + envKey: WINTERSAKURA_UID + labelEn: WinterSakura UID + labelZh: WinterSakura 用户ID + required: false + type: text + - default: "" + edit: true + envKey: WINTERSAKURA_PASSKEY + labelEn: WinterSakura Passkey + labelZh: WinterSakura 密钥 + required: false + type: text + - default: "" + edit: true + envKey: LEAVES_UID + labelEn: Leaves UID + labelZh: Leaves 用户ID + required: false + type: text + - default: "" + edit: true + envKey: LEAVES_PASSKEY + labelEn: Leaves Passkey + labelZh: Leaves 密钥 + required: false + type: text + - default: "" + edit: true + envKey: PTBA_UID + labelEn: PTBA UID + labelZh: PTBA 用户ID + required: false + type: text + - default: "" + edit: true + envKey: PTBA_PASSKEY + labelEn: PTBA Passkey + labelZh: PTBA 密钥 + required: false + type: text + - default: "" + edit: true + envKey: ICC2022_UID + labelEn: ICC2022 UID + labelZh: ICC2022 用户ID + required: false + type: text + - default: "" + edit: true + envKey: ICC2022_PASSKEY + labelEn: ICC2022 Passkey + labelZh: ICC2022 密钥 + required: false + type: text + - default: "" + edit: true + envKey: PTLSP_UID + labelEn: PTLSP UID + labelZh: PTLSP 用户ID + required: false + type: text + - default: "" + edit: true + envKey: PTLSP_PASSKEY + labelEn: PTLSP Passkey + labelZh: PTLSP 密钥 + required: false + type: text + - default: "" + edit: true + envKey: XINGTAN_UID + labelEn: XINGTAN UID + labelZh: XINGTAN 用户ID + required: false + type: text + - default: "" + edit: true + envKey: XINGTAN_PASSKEY + labelEn: XINGTAN Passkey + labelZh: XINGTAN 密钥 + required: false + type: text + - default: "" + edit: true + envKey: PTVICOMO_UID + labelEn: PTVICOMO UID + labelZh: PTVICOMO 用户ID + required: false + type: text + - default: "" + edit: true + envKey: PTVICOMO_PASSKEY + labelEn: PTVICOMO Passkey + labelZh: PTVICOMO 密钥 + required: false + type: text + - default: "" + edit: true + envKey: AGSVPT_UID + labelEn: AGSVPT UID + labelZh: AGSVPT 用户ID + required: false + type: text + - default: "" + edit: true + envKey: AGSVPT_PASSKEY + labelEn: AGSVPT Passkey + labelZh: AGSVPT 密钥 + required: false + type: text + - default: "" + edit: true + envKey: HDKYL_UID + labelEn: HDKYL UID + labelZh: HDKYL 用户ID + required: false + type: text + - default: "" + edit: true + envKey: HDKYL_PASSKEY + labelEn: HDKYL Passkey + labelZh: HDKYL 密钥 + required: false + type: text + - default: "" + edit: true + envKey: QINGWA_UID + labelEn: QINGWA UID + labelZh: QINGWA 用户ID + required: false + type: text + - default: "" + edit: true + envKey: QINGWA_PASSKEY + labelEn: QINGWA Passkey + labelZh: QINGWA 密钥 + required: false + type: text + - default: "" + edit: true + envKey: DISCFAN_UID + labelEn: DISCFAN UID + labelZh: DISCFAN 用户ID + required: false + type: text + - default: "" + edit: true + envKey: DISCFAN_PASSKEY + labelEn: DISCFAN Passkey + labelZh: DISCFAN 密钥 + required: false + type: text + - default: "false" + edit: true + envKey: BIG_MEMORY_MODE + labelEn: Big Memory Mode + labelZh: 大内存模式 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: '{{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}' + edit: true + envKey: MOVIE_RENAME_FORMAT + labelEn: Movie Rename Format + labelZh: 电影重命名格式 + required: true + type: text + - default: '{{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}' + edit: true + envKey: TV_RENAME_FORMAT + labelEn: TV Rename Format + labelZh: 电视剧重命名格式 + required: true + type: text diff --git a/apps/moviepilot/1.8.7/docker-compose.yml b/apps/moviepilot/1.8.7/docker-compose.yml new file mode 100644 index 00000000..5811594a --- /dev/null +++ b/apps/moviepilot/1.8.7/docker-compose.yml @@ -0,0 +1,139 @@ +version: '3.3' +services: + moviepilot: + image: jxxghp/moviepilot:1.8.7 + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + - "${PANEL_APP_PORT_API}:${PANEL_APP_PORT_API}" + hostname: ${HOSTNAME} + tty: true + environment: + - 'UMASK=${UMASK}' + - 'PUID=${USER_ID}' + - 'PGID=${GROUP_ID}' + - 'TZ=${TZ}' + - 'MOVIEPILOT_AUTO_UPDATE=${MOVIEPILOT_AUTO_UPDATE}' + - 'NGINX_PORT=${PANEL_APP_PORT_HTTP}' + - 'PORT=${PANEL_APP_PORT_API}' + - 'SUPERUSER=${SUPERUSER}' + - 'SUPERUSER_PASSWORD=${SUPERUSER_PASSWORD}' + - 'WALLPAPER=${WALLPAPER}' + - 'API_TOKEN=${API_TOKEN}' + - 'PROXY_HOST=${PROXY_HOST}' + - 'TMDB_API_DOMAIN=${TMDB_API_DOMAIN}' + - 'DOWNLOAD_PATH=${DOWNLOAD_PATH}' + - 'DOWNLOAD_MOVIE_PATH=${DOWNLOAD_MOVIE_PATH}' + - 'DOWNLOAD_TV_PATH=${DOWNLOAD_TV_PATH}' + - 'DOWNLOAD_ANIME_PATH=${DOWNLOAD_ANIME_PATH}' + - 'DOWNLOAD_SUBTITLE=${DOWNLOAD_SUBTITLE}' + - 'DOWNLOAD_CATEGORY=${DOWNLOAD_CATEGORY}' + - 'DOWNLOADER_MONITOR=${DOWNLOADER_MONITOR}' + - 'SUBSCRIBE_MODE=${SUBSCRIBE_MODE}' + - 'SUBSCRIBE_RSS_INTERVAL=${SUBSCRIBE_RSS_INTERVAL}' + - 'SCRAP_METADATA=${SCRAP_METADATA}' + - 'SCRAP_FOLLOW_TMDB=${SCRAP_FOLLOW_TMDB}' + - 'TORRENT_TAG=${TORRENT_TAG}' + - 'LIBRARY_PATH=${LIBRARY_PATH}' + - 'LIBRARY_MOVIE_NAME=${LIBRARY_MOVIE_NAME}' + - 'LIBRARY_TV_NAME=${LIBRARY_TV_NAME}' + - 'LIBRARY_ANIME_NAME=${LIBRARY_ANIME_NAME}' + - 'LIBRARY_CATEGORY=${LIBRARY_CATEGORY}' + - 'TRANSFER_TYPE=${TRANSFER_TYPE}' + - 'OVERWRITE_MODE=${OVERWRITE_MODE}' + - 'COOKIECLOUD_HOST=${COOKIECLOUD_HOST}' + - 'COOKIECLOUD_KEY=${COOKIECLOUD_KEY}' + - 'COOKIECLOUD_PASSWORD=${COOKIECLOUD_PASSWORD}' + - 'COOKIECLOUD_INTERVAL=${COOKIECLOUD_INTERVAL}' + - 'USER_AGENT=${USER_AGENT}' + - 'SUBSCRIBE_SEARCH=${SUBSCRIBE_SEARCH}' + - 'AUTO_DOWNLOAD_USER=${AUTO_DOWNLOAD_USER}' + - 'PLUGIN_MARKET=${PLUGIN_MARKET}' + - 'MESSAGER=${MESSAGER}' + - 'TELEGRAM_TOKEN=${TELEGRAM_TOKEN}' + - 'TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID}' + - 'TELEGRAM_USERS=${TELEGRAM_USERS}' + - 'TELEGRAM_ADMINS=${TELEGRAM_ADMINS}' + - 'WECHAT_CORPID=${WECHAT_CORPID}' + - 'WECHAT_APP_SECRET=${WECHAT_APP_SECRET}' + - 'WECHAT_APP_ID=${WECHAT_APP_ID}' + - 'WECHAT_TOKEN=${WECHAT_TOKEN}' + - 'WECHAT_ENCODING_AESKEY=${WECHAT_ENCODING_AESKEY}' + - 'WECHAT_ADMINS=${WECHAT_ADMINS}' + - 'WECHAT_PROXY=${WECHAT_PROXY}' + - 'SLACK_OAUTH_TOKEN=${SLACK_OAUTH_TOKEN}' + - 'SLACK_APP_TOKEN=${SLACK_APP_TOKEN}' + - 'SLACK_CHANNEL=${SLACK_CHANNEL}' + - 'SYNOLOGYCHAT_WEBHOOK=${SYNOLOGYCHAT_WEBHOOK}' + - 'SYNOLOGYCHAT_TOKEN=${SYNOLOGYCHAT_TOKEN}' + - 'DOWNLOADER=${DOWNLOADER}' + - 'QB_HOST=${QB_HOST}' + - 'QB_USER=${QB_USER}' + - 'QB_PASSWORD=${QB_PASSWORD}' + - 'QB_SEQUENTIAL=${QB_SEQUENTIAL}' + - 'QB_FORCE_RESUME=${QB_FORCE_RESUME}' + - 'TR_HOST=${TR_HOST}' + - 'TR_USER=${TR_USER}' + - 'TR_PASSWORD=${TR_PASSWORD}' + - 'MEDIASERVER=${MEDIASERVER}' + - 'EMBY_HOST=${EMBY_HOST}' + - 'EMBY_API_KEY=${EMBY_API_KEY}' + - 'JELLYFIN_HOST=${JELLYFIN_HOST}' + - 'JELLYFIN_API_KEY=${JELLYFIN_API_KEY}' + - 'PLEX_HOST=${PLEX_HOST}' + - 'PLEX_TOKEN=${PLEX_TOKEN}' + - 'MEDIASERVER_SYNC_INTERVAL=${MEDIASERVER_SYNC_INTERVAL}' + - 'MEDIASERVER_SYNC_BLACKLIST=${MEDIASERVER_SYNC_BLACKLIST}' + - 'AUTH_SITE=${AUTH_SITE}' + - 'IYUU_SIGN=${IYUU_SIGN}' + - 'HHCLUB_USERNAME=${HHCLUB_USERNAME}' + - 'HHCLUB_PASSKEY=${HHCLUB_PASSKEY}' + - 'AUDIENCES_UID=${AUDIENCES_UID}' + - 'AUDIENCES_PASSKEY=${AUDIENCES_PASSKEY}' + - 'HDDOLBY_ID=${HDDOLBY_ID}' + - 'HDDOLBY_PASSKEY=${HDDOLBY_PASSKEY}' + - 'ZMPT_UID=${ZMPT_UID}' + - 'ZMPT_PASSKEY=${ZMPT_PASSKEY}' + - 'FREEFARM_UID=${FREEFARM_UID}' + - 'FREEFARM_PASSKEY=${FREEFARM_PASSKEY}' + - 'HDFANS_UID=${HDFANS_UID}' + - 'HDFANS_PASSKEY=${HDFANS_PASSKEY}' + - 'WINTERSAKURA_UID=${WINTERSAKURA_UID}' + - 'WINTERSAKURA_PASSKEY=${WINTERSAKURA_PASSKEY}' + - 'LEAVES_UID=${LEAVES_UID}' + - 'LEAVES_PASSKEY=${LEAVES_PASSKEY}' + - 'PTBA_UID=${PTBA_UID}' + - 'PTBA_PASSKEY=${PTBA_PASSKEY}' + - 'ICC2022_UID=${ICC2022_UID}' + - 'ICC2022_PASSKEY=${ICC2022_PASSKEY}' + - 'PTLSP_UID=${PTLSP_UID}' + - 'PTLSP_PASSKEY=${PTLSP_PASSKEY}' + - 'XINGTAN_UID=${XINGTAN_UID}' + - 'XINGTAN_PASSKEY=${XINGTAN_PASSKEY}' + - 'PTVICOMO_UID=${PTVICOMO_UID}' + - 'PTVICOMO_PASSKEY=${PTVICOMO_PASSKEY}' + - 'AGSVPT_UID=${AGSVPT_UID}' + - 'AGSVPT_PASSKEY=${AGSVPT_PASSKEY}' + - 'HDKYL_UID=${HDKYL_UID}' + - 'HDKYL_PASSKEY=${HDKYL_PASSKEY}' + - 'QINGWA_UID=${QINGWA_UID}' + - 'QINGWA_PASSKEY=${QINGWA_PASSKEY}' + - 'DISCFAN_UID=${DISCFAN_UID}' + - 'DISCFAN_PASSKEY=${DISCFAN_PASSKEY}' + - 'BIG_MEMORY_MODE=${BIG_MEMORY_MODE}' + - 'MOVIE_RENAME_FORMAT=${MOVIE_RENAME_FORMAT}' + - 'TV_RENAME_FORMAT=${TV_RENAME_FORMAT}' + volumes: + - '${CONFIG_PATH}:/config' + - '${CORE_PATH}:/moviepilot' + - '${DOCKER_SOCK_PATH}:/var/run/docker.sock:ro' + - '${MEDIA_PATH}:/media' + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/moviepilot/README.md b/apps/moviepilot/README.md new file mode 100644 index 00000000..a698d6a7 --- /dev/null +++ b/apps/moviepilot/README.md @@ -0,0 +1,11 @@ +# MoviePilot + +NAS媒体库自动化管理工具 + +## 使用说明 +安装完成后通过容器日志获取登录密码 +- 类似: + +``` +【超级管理员初始密码】uUxB2LPPi07X612g +``` \ No newline at end of file diff --git a/apps/moviepilot/data.yml b/apps/moviepilot/data.yml new file mode 100644 index 00000000..44293799 --- /dev/null +++ b/apps/moviepilot/data.yml @@ -0,0 +1,19 @@ +name: MoviePilot +tags: + - 多媒体 +title: NAS 媒体库自动化管理工具 +description: NAS 媒体库自动化管理工具 +additionalProperties: + key: moviepilot + name: MoviePilot + tags: + - Media + shortDescZh: NAS 媒体库自动化管理工具 + shortDescEn: NAS Media Library Automation Management Tool + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/jxxghp/MoviePilot + github: https://github.com/jxxghp/MoviePilot + document: https://github.com/jxxghp/MoviePilot diff --git a/apps/moviepilot/latest/.env.sample b/apps/moviepilot/latest/.env.sample new file mode 100644 index 00000000..ef4ad8db --- /dev/null +++ b/apps/moviepilot/latest/.env.sample @@ -0,0 +1,120 @@ +AGSVPT_PASSKEY="" +AGSVPT_UID="" +API_TOKEN="roduqib1o8ldrl8uyax7" +AUDIENCES_PASSKEY="" +AUDIENCES_UID="" +AUTH_SITE="audiences" +AUTO_DOWNLOAD_USER="" +BIG_MEMORY_MODE="false" +CONFIG_PATH="./data/config" +CONTAINER_NAME="moviepilot" +COOKIECLOUD_HOST="" +COOKIECLOUD_INTERVAL="20" +COOKIECLOUD_KEY="" +COOKIECLOUD_PASSWORD="" +CORE_PATH="./data/core" +DISCFAN_PASSKEY="" +DISCFAN_UID="" +DOCKER_SOCK_PATH="/var/run/docker.sock" +DOWNLOADER="qbittorrent" +DOWNLOADER_MONITOR="true" +DOWNLOAD_ANIME_PATH="/media/downloads/anime" +DOWNLOAD_CATEGORY="false" +DOWNLOAD_MOVIE_PATH="/media/downloads/movies" +DOWNLOAD_PATH="/media/downloads" +DOWNLOAD_SUBTITLE="false" +DOWNLOAD_TV_PATH="/media/downloads/tv" +EMBY_API_KEY="" +EMBY_HOST="" +FREEFARM_PASSKEY="" +FREEFARM_UID="" +GROUP_ID="0" +HDDOLBY_ID="" +HDDOLBY_PASSKEY="" +HDFANS_PASSKEY="" +HDFANS_UID="" +HDKYL_PASSKEY="" +HDKYL_UID="" +HHCLUB_PASSKEY="" +HHCLUB_USERNAME="" +HOSTNAME="moviepilot" +ICC2022_PASSKEY="" +ICC2022_UID="" +IYUU_SIGN="" +JELLYFIN_API_KEY="" +JELLYFIN_HOST="" +LEAVES_PASSKEY="" +LEAVES_UID="" +LIBRARY_ANIME_NAME="anime" +LIBRARY_CATEGORY="false" +LIBRARY_MOVIE_NAME="movies" +LIBRARY_PATH="/media" +LIBRARY_TV_NAME="tv" +MEDIASERVER="emby" +MEDIASERVER_SYNC_BLACKLIST="" +MEDIASERVER_SYNC_INTERVAL="6" +MEDIA_PATH="./data/media" +MESSAGER="telegram" +MOVIEPILOT_AUTO_UPDATE="release" +MOVIE_RENAME_FORMAT="{{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}" +OVERWRITE_MODE="size" +PANEL_APP_PORT_API="40242" +PANEL_APP_PORT_HTTP="40241" +PLEX_HOST="" +PLEX_TOKEN="" +PLUGIN_MARKET="https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/" +PROXY_HOST="" +PTBA_PASSKEY="" +PTBA_UID="" +PTLSP_PASSKEY="" +PTLSP_UID="" +PTVICOMO_PASSKEY="" +PTVICOMO_UID="" +QB_FORCE_RESUME="false" +QB_HOST="" +QB_PASSWORD="" +QB_SEQUENTIAL="true" +QB_USER="" +QINGWA_PASSKEY="" +QINGWA_UID="" +SCRAP_FOLLOW_TMDB="true" +SCRAP_METADATA="true" +SLACK_APP_TOKEN="" +SLACK_CHANNEL="" +SLACK_OAUTH_TOKEN="" +SUBSCRIBE_MODE="spider" +SUBSCRIBE_RSS_INTERVAL="30" +SUBSCRIBE_SEARCH="false" +SUPERUSER="admin" +SUPERUSER_PASSWORD="password_fB7A2j" +SYNOLOGYCHAT_TOKEN="" +SYNOLOGYCHAT_WEBHOOK="" +TELEGRAM_ADMINS="" +TELEGRAM_CHAT_ID="" +TELEGRAM_TOKEN="" +TELEGRAM_USERS="" +TMDB_API_DOMAIN="api.themoviedb.org" +TORRENT_TAG="MOVIEPILOT" +TRANSFER_TYPE="link" +TR_HOST="" +TR_PASSWORD="" +TR_USER="" +TV_RENAME_FORMAT="{{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}" +TZ="Asia/Shanghai" +UMASK="22" +USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" +USER_ID="0" +WALLPAPER="tmdb" +WECHAT_ADMINS="" +WECHAT_APP_ID="" +WECHAT_APP_SECRET="" +WECHAT_CORPID="" +WECHAT_ENCODING_AESKEY="" +WECHAT_PROXY="" +WECHAT_TOKEN="" +WINTERSAKURA_PASSKEY="" +WINTERSAKURA_UID="" +XINGTAN_PASSKEY="" +XINGTAN_UID="" +ZMPT_PASSKEY="" +ZMPT_UID="" diff --git a/apps/moviepilot/latest/data.yml b/apps/moviepilot/latest/data.yml new file mode 100644 index 00000000..4ece8506 --- /dev/null +++ b/apps/moviepilot/latest/data.yml @@ -0,0 +1,977 @@ +additionalProperties: + formFields: + - default: "./data/config" + edit: true + envKey: CONFIG_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "./data/core" + edit: true + envKey: CORE_PATH + labelEn: Core Path + labelZh: 核心路径 + required: true + type: text + - default: "/var/run/docker.sock" + edit: true + envKey: DOCKER_SOCK_PATH + labelEn: Docker Socket Path + labelZh: Docker套接字路径 + required: true + type: text + - default: "./data/media" + edit: true + envKey: MEDIA_PATH + labelEn: Media Path + labelZh: 媒体路径 + required: true + type: text + - default: "moviepilot" + edit: true + envKey: HOSTNAME + labelEn: Hostname + labelZh: 主机名 + required: true + type: text + - default: "022" + edit: true + envKey: UMASK + labelEn: File Umask + labelZh: 文件掩码 + required: true + type: text + - default: "0" + envKey: USER_ID + labelEn: User ID + labelZh: 用户 ID + required: true + type: number + edit: true + - default: "0" + envKey: GROUP_ID + labelEn: Group ID + labelZh: 用户组 ID + required: true + type: number + edit: true + - default: "Asia/Shanghai" + edit: true + envKey: TZ + labelEn: Timezone + labelZh: 时区 + required: true + type: text + - default: "release" + edit: true + envKey: MOVIEPILOT_AUTO_UPDATE + labelEn: MoviePilot Auto Update + labelZh: MoviePilot 自动更新 + required: true + type: select + values: + - label: "true" + value: "true" + - label: "release" + value: "release" + - label: "dev" + value: "dev" + - label: "false" + value: "false" + - default: "40241" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Panel HTTP Port + labelZh: 面板 HTTP 端口 + required: true + rule: paramPort + type: number + - default: "40242" + edit: true + envKey: PANEL_APP_PORT_API + labelEn: API Port + labelZh: API 端口 + required: true + rule: paramPort + type: number + - default: "admin" + edit: true + envKey: SUPERUSER + labelEn: Superuser Username + labelZh: 超级管理员用户名 + required: true + type: text + - default: "password" + edit: true + envKey: SUPERUSER_PASSWORD + labelEn: Superuser Password + labelZh: 超级管理员密码 + random: true + required: true + rule: paramComplexity + type: password + - default: "tmdb" + edit: true + envKey: WALLPAPER + labelEn: Wallpaper + labelZh: 登录首页电影海报 + required: true + type: select + values: + - label: "tmdb" + value: "tmdb" + - label: "bing" + value: "bing" + - default: "roduqib1o8ldrl8uyax7" + edit: true + envKey: API_TOKEN + labelEn: API Token + labelZh: API 密钥 + required: true + type: text + - default: "" + edit: true + envKey: PROXY_HOST + labelEn: Proxy host + labelZh: 网络代理 + required: false + type: text + - default: "api.themoviedb.org" + edit: true + envKey: TMDB_API_DOMAIN + labelEn: TMDB API Domain + labelZh: TMDB API 地址 + required: true + type: text + - default: "/media/downloads" + edit: true + envKey: DOWNLOAD_PATH + labelEn: Download Path (in container) + labelZh: 下载保存目录 (容器内) + required: true + type: text + - default: "/media/downloads/movies" + edit: true + envKey: DOWNLOAD_MOVIE_PATH + labelEn: Download Movie Path (in container) + labelZh: 电影下载目录 (容器内) + required: true + type: text + - default: "/media/downloads/tv" + edit: true + envKey: DOWNLOAD_TV_PATH + labelEn: Download TV Path (in container) + labelZh: 电视剧下载目录 (容器内) + required: true + type: text + - default: "/media/downloads/anime" + edit: true + envKey: DOWNLOAD_ANIME_PATH + labelEn: Download Anime Path (in container) + labelZh: 动漫下载目录 (容器内) + required: true + type: text + - default: "false" + edit: true + envKey: DOWNLOAD_SUBTITLE + labelEn: Download Subtitle + labelZh: 下载字幕 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "false" + edit: true + envKey: DOWNLOAD_CATEGORY + labelEn: Download Category + labelZh: 下载二级分类 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "true" + edit: true + envKey: DOWNLOADER_MONITOR + labelEn: Downloader Monitor + labelZh: 下载器监控 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "spider" + edit: true + envKey: SUBSCRIBE_MODE + labelEn: Subscribe Mode + labelZh: 订阅模式 + required: true + type: text + - default: "30" + edit: true + envKey: SUBSCRIBE_RSS_INTERVAL + labelEn: Subscribe RSS Interval + labelZh: 订阅 RSS 间隔 + required: true + type: number + - default: "true" + edit: true + envKey: SCRAP_METADATA + labelEn: Scrap Metadata + labelZh: 刮削入库 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "true" + edit: true + envKey: SCRAP_FOLLOW_TMDB + labelEn: Scrap Follow TMDB + labelZh: 刮削跟随 TMDB + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "MOVIEPILOT" + edit: true + envKey: TORRENT_TAG + labelEn: Torrent Tag + labelZh: 种子标签 + required: true + type: text + - default: "/media" + edit: true + envKey: LIBRARY_PATH + labelEn: Library Path (in container) + labelZh: 媒体库路径 (容器内) + required: true + type: text + - default: "movies" + edit: true + envKey: LIBRARY_MOVIE_NAME + labelEn: Library Movie Name + labelZh: 电影媒体库名称 + required: true + type: text + - default: "tv" + edit: true + envKey: LIBRARY_TV_NAME + labelEn: Library TV Name + labelZh: 电视剧媒体库名称 + required: true + type: text + - default: "anime" + edit: true + envKey: LIBRARY_ANIME_NAME + labelEn: Library Anime Name + labelZh: 动漫媒体库名称 + required: true + type: text + - default: "false" + edit: true + envKey: LIBRARY_CATEGORY + labelEn: Library Category + labelZh: 媒体库二级分类 + required: false + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "link" + edit: true + envKey: TRANSFER_TYPE + labelEn: Transfer Type + labelZh: 转移方式 + required: true + type: select + values: + - label: "link" + value: "link" + - label: "copy" + value: "copy" + - label: "move" + value: "move" + - label: "softlink" + value: "softlink" + - default: "size" + edit: true + envKey: OVERWRITE_MODE + labelEn: Overwrite Mode + labelZh: 转移覆盖模式 + required: true + type: select + values: + - label: "nerver" + value: "nerver" + - label: "size" + value: "size" + - label: "always" + value: "always" + - default: "" + edit: true + envKey: COOKIECLOUD_HOST + labelEn: CookieCloud Host + labelZh: CookieCloud 服务器地址 + required: false + type: text + - default: "" + edit: true + envKey: COOKIECLOUD_KEY + labelEn: CookieCloud Key + labelZh: CookieCloud 用户 KEY + required: false + type: text + - default: "" + edit: true + envKey: COOKIECLOUD_PASSWORD + labelEn: CookieCloud Password + labelZh: CookieCloud 密码 + required: false + type: text + - default: "20" + edit: true + envKey: COOKIECLOUD_INTERVAL + labelEn: CookieCloud Interval + labelZh: CookieCloud 同步间隔(分钟) + required: false + type: number + - default: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" + edit: true + envKey: USER_AGENT + labelEn: User Agent + labelZh: 用户代理 + required: true + type: text + - default: "false" + edit: true + envKey: SUBSCRIBE_SEARCH + labelEn: Subscribe Search + labelZh: 订阅搜索 + required: false + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "" + edit: true + envKey: AUTO_DOWNLOAD_USER + labelEn: Auto Download User + labelZh: 自动下载用户 + required: false + type: text + - default: "https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/" + edit: true + envKey: PLUGIN_MARKET + labelEn: Plugin Market + labelZh: 插件市场仓库地址 + required: true + type: text + - default: "telegram" + edit: true + envKey: MESSAGER + labelEn: Messager + labelZh: 消息通知渠道 + required: true + type: select + values: + - label: "telegram" + value: "telegram" + - label: "wechat" + value: "wechat" + - label: "slack" + value: "slack" + - label: "synologychat" + value: "synologychat" + - default: "" + edit: true + envKey: TELEGRAM_TOKEN + labelEn: Telegram Token + labelZh: Telegram Token + required: false + type: text + - default: "" + edit: true + envKey: TELEGRAM_CHAT_ID + labelEn: Telegram Chat ID + labelZh: Telegram Chat ID + required: false + type: text + - default: "" + edit: true + envKey: TELEGRAM_USERS + labelEn: Telegram Users + labelZh: 电报用户 + required: false + type: text + - default: "" + edit: true + envKey: TELEGRAM_ADMINS + labelEn: Telegram Admins + labelZh: 电报管理员 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_CORPID + labelEn: WeChat CorpID + labelZh: 微信企业ID + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_APP_SECRET + labelEn: WeChat App Secret + labelZh: 微信应用密钥 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_APP_ID + labelEn: WeChat App ID + labelZh: 微信应用ID + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_TOKEN + labelEn: WeChat Token + labelZh: 微信令牌 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_ENCODING_AESKEY + labelEn: WeChat Encoding AES Key + labelZh: 微信编码 AES 密钥 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_ADMINS + labelEn: WeChat Admins + labelZh: 微信管理员 + required: false + type: text + - default: "" + edit: true + envKey: WECHAT_PROXY + labelEn: WeChat Proxy + labelZh: 微信代理 + required: false + type: text + - default: "" + edit: true + envKey: SLACK_OAUTH_TOKEN + labelEn: Slack OAuth Token + labelZh: Slack OAuth 令牌 + required: false + type: text + - default: "" + edit: true + envKey: SLACK_APP_TOKEN + labelEn: Slack App Token + labelZh: Slack 应用令牌 + required: false + type: text + - default: "" + edit: true + envKey: SLACK_CHANNEL + labelEn: Slack Channel + labelZh: Slack 频道 + required: false + type: text + - default: "" + edit: true + envKey: SYNOLOGYCHAT_WEBHOOK + labelEn: Synology Chat Webhook + labelZh: 群晖聊天 Webhook + required: false + type: text + - default: "" + edit: true + envKey: SYNOLOGYCHAT_TOKEN + labelEn: Synology Chat Token + labelZh: 群晖聊天令牌 + required: false + type: text + - default: "qbittorrent" + edit: true + envKey: DOWNLOADER + labelEn: Downloader + labelZh: 下载器 + required: true + type: select + values: + - label: qBittorrent + value: "qbittorrent" + - label: Transmission + value: "transmission" + - default: "" + edit: true + envKey: QB_HOST + labelEn: QB Host + labelZh: qBittorrent 主机地址 + required: false + type: text + - default: "" + edit: true + envKey: QB_USER + labelEn: QB User + labelZh: qBittorrent 用户名 + required: false + type: text + - default: "" + edit: true + envKey: QB_PASSWORD + labelEn: QB Password + labelZh: qBittorrent 密码 + required: false + type: text + - default: "true" + edit: true + envKey: QB_SEQUENTIAL + labelEn: QB Sequential + labelZh: qBittorrent 顺序下载 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "false" + edit: true + envKey: QB_FORCE_RESUME + labelEn: QB Force Resume + labelZh: qBittorrent 强制继续下载 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: "" + edit: true + envKey: TR_HOST + labelEn: Transmission Host + labelZh: Transmission 主机 + required: false + type: text + - default: "" + edit: true + envKey: TR_USER + labelEn: Transmission Username + labelZh: Transmission 用户名 + required: false + type: text + - default: "" + edit: true + envKey: TR_PASSWORD + labelEn: Transmission Password + labelZh: Transmission 密码 + required: false + type: password + - default: "emby" + edit: true + envKey: MEDIASERVER + labelEn: Media Server + labelZh: 媒体服务器 + required: true + type: select + values: + - label: Emby + value: "emby" + - label: Jellyfin + value: "jellyfin" + - label: Plex + value: "plex" + - default: "" + edit: true + envKey: EMBY_HOST + labelEn: Emby Host + labelZh: Emby 主机地址 + required: false + type: text + - default: "" + edit: true + envKey: EMBY_API_KEY + labelEn: Emby API Key + labelZh: Emby API 密钥 + required: false + type: text + - default: "" + edit: true + envKey: JELLYFIN_HOST + labelEn: Jellyfin Host + labelZh: Jellyfin 主机 + required: false + type: text + - default: "" + edit: true + envKey: JELLYFIN_API_KEY + labelEn: Jellyfin API Key + labelZh: Jellyfin API 密钥 + required: false + type: text + - default: "" + edit: true + envKey: PLEX_HOST + labelEn: Plex Host + labelZh: Plex 主机 + required: false + type: text + - default: "" + edit: true + envKey: PLEX_TOKEN + labelEn: Plex Token + labelZh: Plex 令牌 + required: false + type: text + - default: "6" + edit: true + envKey: MEDIASERVER_SYNC_INTERVAL + labelEn: Media Server Sync Interval + labelZh: 媒体服务器同步间隔(小时) + required: true + type: number + - default: "" + edit: true + envKey: MEDIASERVER_SYNC_BLACKLIST + labelEn: Media Server Sync Blacklist + labelZh: 媒体服务器同步黑名单 + required: false + type: text + - default: "audiences" + edit: true + envKey: AUTH_SITE + labelEn: Authentication Site + labelZh: 认证站点 + required: true + type: select + values: + - label: "iyuu" + value: "iyuu" + - label: "hhclub" + value: "hhclub" + - label: "audiences" + value: "audiences" + - label: "hddolby" + value: "hddolby" + - label: "zmpt" + value: "zmpt" + - label: "freefarm" + value: "freefarm" + - label: "hdfans" + value: "hdfans" + - label: "wintersakura" + value: "wintersakura" + - label: "leaves" + value: "leaves" + - label: "ptba" + value: "ptba" + - label: "icc2022" + value: "icc2022" + - label: "ptlsp" + value: "ptlsp" + - label: "xingtan" + value: "xingtan" + - label: "ptvicomo" + value: "ptvicomo" + - label: "agsvpt" + value: "agsvpt" + - label: "hdkyl" + value: "hdkyl" + - label: "qingwa" + value: "qingwa" + - label: "discfan" + value: "discfan" + - default: "" + edit: true + envKey: IYUU_SIGN + labelEn: IYUU Sign + labelZh: IYUU 登录令牌 + required: false + type: text + - default: "" + edit: true + envKey: HHCLUB_USERNAME + labelEn: HHClub Username + labelZh: HHClub 用户名 + required: false + type: text + - default: "" + edit: true + envKey: HHCLUB_PASSKEY + labelEn: HHClub Passkey + labelZh: HHClub 密钥 + required: false + type: text + - default: "" + edit: true + envKey: AUDIENCES_UID + labelEn: Audiences UID + labelZh: Audiences 用户ID + required: false + type: text + - default: "" + edit: true + envKey: AUDIENCES_PASSKEY + labelEn: Audiences Passkey + labelZh: Audiences 密钥 + required: false + type: text + - default: "" + edit: true + envKey: HDDOLBY_ID + labelEn: HDDolby ID + labelZh: HDDolby 用户ID + required: false + type: text + - default: "" + edit: true + envKey: HDDOLBY_PASSKEY + labelEn: HDDolby Passkey + labelZh: HDDolby 密钥 + required: false + type: text + - default: "" + edit: true + envKey: ZMPT_UID + labelEn: ZMPT UID + labelZh: ZMPT 用户ID + required: false + type: text + - default: "" + edit: true + envKey: ZMPT_PASSKEY + labelEn: ZMPT Passkey + labelZh: ZMPT 密钥 + required: false + type: text + - default: "" + edit: true + envKey: FREEFARM_UID + labelEn: FreeFarm UID + labelZh: FreeFarm 用户ID + required: false + type: text + - default: "" + edit: true + envKey: FREEFARM_PASSKEY + labelEn: FreeFarm Passkey + labelZh: FreeFarm 密钥 + required: false + type: text + - default: "" + edit: true + envKey: HDFANS_UID + labelEn: HDFans UID + labelZh: HDFans 用户ID + required: false + type: text + - default: "" + edit: true + envKey: HDFANS_PASSKEY + labelEn: HDFans Passkey + labelZh: HDFans 密钥 + required: false + type: text + - default: "" + edit: true + envKey: WINTERSAKURA_UID + labelEn: WinterSakura UID + labelZh: WinterSakura 用户ID + required: false + type: text + - default: "" + edit: true + envKey: WINTERSAKURA_PASSKEY + labelEn: WinterSakura Passkey + labelZh: WinterSakura 密钥 + required: false + type: text + - default: "" + edit: true + envKey: LEAVES_UID + labelEn: Leaves UID + labelZh: Leaves 用户ID + required: false + type: text + - default: "" + edit: true + envKey: LEAVES_PASSKEY + labelEn: Leaves Passkey + labelZh: Leaves 密钥 + required: false + type: text + - default: "" + edit: true + envKey: PTBA_UID + labelEn: PTBA UID + labelZh: PTBA 用户ID + required: false + type: text + - default: "" + edit: true + envKey: PTBA_PASSKEY + labelEn: PTBA Passkey + labelZh: PTBA 密钥 + required: false + type: text + - default: "" + edit: true + envKey: ICC2022_UID + labelEn: ICC2022 UID + labelZh: ICC2022 用户ID + required: false + type: text + - default: "" + edit: true + envKey: ICC2022_PASSKEY + labelEn: ICC2022 Passkey + labelZh: ICC2022 密钥 + required: false + type: text + - default: "" + edit: true + envKey: PTLSP_UID + labelEn: PTLSP UID + labelZh: PTLSP 用户ID + required: false + type: text + - default: "" + edit: true + envKey: PTLSP_PASSKEY + labelEn: PTLSP Passkey + labelZh: PTLSP 密钥 + required: false + type: text + - default: "" + edit: true + envKey: XINGTAN_UID + labelEn: XINGTAN UID + labelZh: XINGTAN 用户ID + required: false + type: text + - default: "" + edit: true + envKey: XINGTAN_PASSKEY + labelEn: XINGTAN Passkey + labelZh: XINGTAN 密钥 + required: false + type: text + - default: "" + edit: true + envKey: PTVICOMO_UID + labelEn: PTVICOMO UID + labelZh: PTVICOMO 用户ID + required: false + type: text + - default: "" + edit: true + envKey: PTVICOMO_PASSKEY + labelEn: PTVICOMO Passkey + labelZh: PTVICOMO 密钥 + required: false + type: text + - default: "" + edit: true + envKey: AGSVPT_UID + labelEn: AGSVPT UID + labelZh: AGSVPT 用户ID + required: false + type: text + - default: "" + edit: true + envKey: AGSVPT_PASSKEY + labelEn: AGSVPT Passkey + labelZh: AGSVPT 密钥 + required: false + type: text + - default: "" + edit: true + envKey: HDKYL_UID + labelEn: HDKYL UID + labelZh: HDKYL 用户ID + required: false + type: text + - default: "" + edit: true + envKey: HDKYL_PASSKEY + labelEn: HDKYL Passkey + labelZh: HDKYL 密钥 + required: false + type: text + - default: "" + edit: true + envKey: QINGWA_UID + labelEn: QINGWA UID + labelZh: QINGWA 用户ID + required: false + type: text + - default: "" + edit: true + envKey: QINGWA_PASSKEY + labelEn: QINGWA Passkey + labelZh: QINGWA 密钥 + required: false + type: text + - default: "" + edit: true + envKey: DISCFAN_UID + labelEn: DISCFAN UID + labelZh: DISCFAN 用户ID + required: false + type: text + - default: "" + edit: true + envKey: DISCFAN_PASSKEY + labelEn: DISCFAN Passkey + labelZh: DISCFAN 密钥 + required: false + type: text + - default: "false" + edit: true + envKey: BIG_MEMORY_MODE + labelEn: Big Memory Mode + labelZh: 大内存模式 + required: true + type: select + values: + - label: "false" + value: "false" + - label: "true" + value: "true" + - default: '{{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}' + edit: true + envKey: MOVIE_RENAME_FORMAT + labelEn: Movie Rename Format + labelZh: 电影重命名格式 + required: true + type: text + - default: '{{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}' + edit: true + envKey: TV_RENAME_FORMAT + labelEn: TV Rename Format + labelZh: 电视剧重命名格式 + required: true + type: text diff --git a/apps/moviepilot/latest/docker-compose.yml b/apps/moviepilot/latest/docker-compose.yml new file mode 100644 index 00000000..f5921d16 --- /dev/null +++ b/apps/moviepilot/latest/docker-compose.yml @@ -0,0 +1,139 @@ +version: '3.3' +services: + moviepilot: + image: jxxghp/moviepilot:latest + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + - "${PANEL_APP_PORT_API}:${PANEL_APP_PORT_API}" + hostname: ${HOSTNAME} + tty: true + environment: + - 'UMASK=${UMASK}' + - 'PUID=${USER_ID}' + - 'PGID=${GROUP_ID}' + - 'TZ=${TZ}' + - 'MOVIEPILOT_AUTO_UPDATE=${MOVIEPILOT_AUTO_UPDATE}' + - 'NGINX_PORT=${PANEL_APP_PORT_HTTP}' + - 'PORT=${PANEL_APP_PORT_API}' + - 'SUPERUSER=${SUPERUSER}' + - 'SUPERUSER_PASSWORD=${SUPERUSER_PASSWORD}' + - 'WALLPAPER=${WALLPAPER}' + - 'API_TOKEN=${API_TOKEN}' + - 'PROXY_HOST=${PROXY_HOST}' + - 'TMDB_API_DOMAIN=${TMDB_API_DOMAIN}' + - 'DOWNLOAD_PATH=${DOWNLOAD_PATH}' + - 'DOWNLOAD_MOVIE_PATH=${DOWNLOAD_MOVIE_PATH}' + - 'DOWNLOAD_TV_PATH=${DOWNLOAD_TV_PATH}' + - 'DOWNLOAD_ANIME_PATH=${DOWNLOAD_ANIME_PATH}' + - 'DOWNLOAD_SUBTITLE=${DOWNLOAD_SUBTITLE}' + - 'DOWNLOAD_CATEGORY=${DOWNLOAD_CATEGORY}' + - 'DOWNLOADER_MONITOR=${DOWNLOADER_MONITOR}' + - 'SUBSCRIBE_MODE=${SUBSCRIBE_MODE}' + - 'SUBSCRIBE_RSS_INTERVAL=${SUBSCRIBE_RSS_INTERVAL}' + - 'SCRAP_METADATA=${SCRAP_METADATA}' + - 'SCRAP_FOLLOW_TMDB=${SCRAP_FOLLOW_TMDB}' + - 'TORRENT_TAG=${TORRENT_TAG}' + - 'LIBRARY_PATH=${LIBRARY_PATH}' + - 'LIBRARY_MOVIE_NAME=${LIBRARY_MOVIE_NAME}' + - 'LIBRARY_TV_NAME=${LIBRARY_TV_NAME}' + - 'LIBRARY_ANIME_NAME=${LIBRARY_ANIME_NAME}' + - 'LIBRARY_CATEGORY=${LIBRARY_CATEGORY}' + - 'TRANSFER_TYPE=${TRANSFER_TYPE}' + - 'OVERWRITE_MODE=${OVERWRITE_MODE}' + - 'COOKIECLOUD_HOST=${COOKIECLOUD_HOST}' + - 'COOKIECLOUD_KEY=${COOKIECLOUD_KEY}' + - 'COOKIECLOUD_PASSWORD=${COOKIECLOUD_PASSWORD}' + - 'COOKIECLOUD_INTERVAL=${COOKIECLOUD_INTERVAL}' + - 'USER_AGENT=${USER_AGENT}' + - 'SUBSCRIBE_SEARCH=${SUBSCRIBE_SEARCH}' + - 'AUTO_DOWNLOAD_USER=${AUTO_DOWNLOAD_USER}' + - 'PLUGIN_MARKET=${PLUGIN_MARKET}' + - 'MESSAGER=${MESSAGER}' + - 'TELEGRAM_TOKEN=${TELEGRAM_TOKEN}' + - 'TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID}' + - 'TELEGRAM_USERS=${TELEGRAM_USERS}' + - 'TELEGRAM_ADMINS=${TELEGRAM_ADMINS}' + - 'WECHAT_CORPID=${WECHAT_CORPID}' + - 'WECHAT_APP_SECRET=${WECHAT_APP_SECRET}' + - 'WECHAT_APP_ID=${WECHAT_APP_ID}' + - 'WECHAT_TOKEN=${WECHAT_TOKEN}' + - 'WECHAT_ENCODING_AESKEY=${WECHAT_ENCODING_AESKEY}' + - 'WECHAT_ADMINS=${WECHAT_ADMINS}' + - 'WECHAT_PROXY=${WECHAT_PROXY}' + - 'SLACK_OAUTH_TOKEN=${SLACK_OAUTH_TOKEN}' + - 'SLACK_APP_TOKEN=${SLACK_APP_TOKEN}' + - 'SLACK_CHANNEL=${SLACK_CHANNEL}' + - 'SYNOLOGYCHAT_WEBHOOK=${SYNOLOGYCHAT_WEBHOOK}' + - 'SYNOLOGYCHAT_TOKEN=${SYNOLOGYCHAT_TOKEN}' + - 'DOWNLOADER=${DOWNLOADER}' + - 'QB_HOST=${QB_HOST}' + - 'QB_USER=${QB_USER}' + - 'QB_PASSWORD=${QB_PASSWORD}' + - 'QB_SEQUENTIAL=${QB_SEQUENTIAL}' + - 'QB_FORCE_RESUME=${QB_FORCE_RESUME}' + - 'TR_HOST=${TR_HOST}' + - 'TR_USER=${TR_USER}' + - 'TR_PASSWORD=${TR_PASSWORD}' + - 'MEDIASERVER=${MEDIASERVER}' + - 'EMBY_HOST=${EMBY_HOST}' + - 'EMBY_API_KEY=${EMBY_API_KEY}' + - 'JELLYFIN_HOST=${JELLYFIN_HOST}' + - 'JELLYFIN_API_KEY=${JELLYFIN_API_KEY}' + - 'PLEX_HOST=${PLEX_HOST}' + - 'PLEX_TOKEN=${PLEX_TOKEN}' + - 'MEDIASERVER_SYNC_INTERVAL=${MEDIASERVER_SYNC_INTERVAL}' + - 'MEDIASERVER_SYNC_BLACKLIST=${MEDIASERVER_SYNC_BLACKLIST}' + - 'AUTH_SITE=${AUTH_SITE}' + - 'IYUU_SIGN=${IYUU_SIGN}' + - 'HHCLUB_USERNAME=${HHCLUB_USERNAME}' + - 'HHCLUB_PASSKEY=${HHCLUB_PASSKEY}' + - 'AUDIENCES_UID=${AUDIENCES_UID}' + - 'AUDIENCES_PASSKEY=${AUDIENCES_PASSKEY}' + - 'HDDOLBY_ID=${HDDOLBY_ID}' + - 'HDDOLBY_PASSKEY=${HDDOLBY_PASSKEY}' + - 'ZMPT_UID=${ZMPT_UID}' + - 'ZMPT_PASSKEY=${ZMPT_PASSKEY}' + - 'FREEFARM_UID=${FREEFARM_UID}' + - 'FREEFARM_PASSKEY=${FREEFARM_PASSKEY}' + - 'HDFANS_UID=${HDFANS_UID}' + - 'HDFANS_PASSKEY=${HDFANS_PASSKEY}' + - 'WINTERSAKURA_UID=${WINTERSAKURA_UID}' + - 'WINTERSAKURA_PASSKEY=${WINTERSAKURA_PASSKEY}' + - 'LEAVES_UID=${LEAVES_UID}' + - 'LEAVES_PASSKEY=${LEAVES_PASSKEY}' + - 'PTBA_UID=${PTBA_UID}' + - 'PTBA_PASSKEY=${PTBA_PASSKEY}' + - 'ICC2022_UID=${ICC2022_UID}' + - 'ICC2022_PASSKEY=${ICC2022_PASSKEY}' + - 'PTLSP_UID=${PTLSP_UID}' + - 'PTLSP_PASSKEY=${PTLSP_PASSKEY}' + - 'XINGTAN_UID=${XINGTAN_UID}' + - 'XINGTAN_PASSKEY=${XINGTAN_PASSKEY}' + - 'PTVICOMO_UID=${PTVICOMO_UID}' + - 'PTVICOMO_PASSKEY=${PTVICOMO_PASSKEY}' + - 'AGSVPT_UID=${AGSVPT_UID}' + - 'AGSVPT_PASSKEY=${AGSVPT_PASSKEY}' + - 'HDKYL_UID=${HDKYL_UID}' + - 'HDKYL_PASSKEY=${HDKYL_PASSKEY}' + - 'QINGWA_UID=${QINGWA_UID}' + - 'QINGWA_PASSKEY=${QINGWA_PASSKEY}' + - 'DISCFAN_UID=${DISCFAN_UID}' + - 'DISCFAN_PASSKEY=${DISCFAN_PASSKEY}' + - 'BIG_MEMORY_MODE=${BIG_MEMORY_MODE}' + - 'MOVIE_RENAME_FORMAT=${MOVIE_RENAME_FORMAT}' + - 'TV_RENAME_FORMAT=${TV_RENAME_FORMAT}' + volumes: + - '${CONFIG_PATH}:/config' + - '${CORE_PATH}:/moviepilot' + - '${DOCKER_SOCK_PATH}:/var/run/docker.sock:ro' + - '${MEDIA_PATH}:/media' + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/moviepilot/logo.png b/apps/moviepilot/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..46faca6334bf87e05c6acb22f8efffe59842660a GIT binary patch literal 3196 zcmXw5c|26>8y{4bN@N*yZ)8b?ETc3SW8WfMHxw$_$Chb?hLL@b$R#6VkR@ZU5JDp9&vV}A`z(LFDR#Ez#|5MWAP~rLOA8YR@Z0>) z%f|ys0g>OJ_W@TUB0|5@XQWw9Ueswp& zaP55=5F$5L?7yFTlZAu-=pg`6YV#H0KvmR1%9Wi^32KPwNLLZiQ3!y_M<#0^sEGkk z0)s)vKPQ@P1f3a;MJ$J&odB7)WFEYT0Lst@V2BC~&`Sg!8UF&gVYL_IOxL@g0}t53*4sKGG9CZQ`iM@kl^P~u`eJ1IlsvPh++E?ItyiJAo|i$pcFOU zYz^c9TCuPNFkH0G5>{odrxZxB-U0nH?Dm?|4`Pj0BG1i$Tk!CzC{Cmn9mF7iQry7< z&G~4=kIrX6qQz$LiQ$UygJ{IhWb5sC!(Wedeu8xXSK8IBK*NiJ^z>2KLcQ~`4F53t1Yn0V2QvwgT0G2T8)A)MjQN0vt`Dct%Hdt zm~ViDL54BNWpG+>hAWZq1+Y*d%9Fv06Av!Z@2O3NsZWQV{{|+D(Vh=d7{|co0_DC2 zNRNi9Oa&`VRy+WR_t=GAtjE{(a&NFQ9rnQ9RYn2NQTs){tiNxw&>Ayuo&Y65>>TI4 zr|!Eb!6CmR{a_*u$p>k6Yp*f^aM*B046p@+psmN(H{;A0$ya{n*fQd^r^8QEQBX>8 z02AzBdDu?TosGg<%NfSA56@C>ooV_ToO=@5!PXHntFFHOZvDvcC0XU8zbRx5CIz;y z@JF7SqPUn4KWA}_M)F~^*{q$Njg@7_;(WCXi^=@4v`C*EEYHP+1bVnw7#XUZk~+y` zuC4u8njGxwe%JB3xe{L#9~<$&?WTjRm4U%U6eAxEr%zK8 z6L5h(cU^7amsHQOH-7w}Pfw5ce|-P$^$TKtPD*lQsO?1+dFBp{GWfCebz@lQjdU`l z3ZR7_-}O}kB4ICC03KF$n( zu{BuG6t)(GsBirDVGW;mf3qHS6L8q|gN z@k|2UD@0uyLQ>!=HKk&>6%}#Mkah9$$N-gUp~s%wnw6nJqa<;4yr-esceQACGaVqjjf^aP>1eb3?v*3xDFI_~FvM z->Z{~BidT>tj*LAqzZ3ggOUP|(TqGn>s(y)M)mn*CqYVa=3wKGBwJJU8TecICLPwH znGL#^fFvK5zBAs`Vknj2{gPvWC)Wb*i;6xCgn5PtH>;}U7OXD@Wi>`Fpz4?_c8(cDSSpIpIh~qlE-Lvw4CvKN`~m)u zt2$ufY3`Hwg%>*$`3~)r<*gG4=F*mHvzw2RVl@~{i#Yg}5{0#XYT za>JcQ;Xm;t$IMeYQ;0Vs@cWyL!v$o?*p`$P-_E3^{y5BfX5-K`Q}eHeR^l1@I?OT0 zWX9xv$744)>#F3;o=owtJ`Z`ZoBd+3Ii(l4upTim(r@WF#OC+TNnVkAmHxiGO0F={ zE2fg()`$CjSx=&}&rpj0+&ISC`B)=A{6cE(A^Clbs7V;CI;;3Hd!#QV_g;w(-cW$pcT-B58QUHX{Nk#Z-ljx14CR@Bq)MK|3t5~9~PSz?zr zNkJug@E%(S7$YgTj%Zkck?Xc#gg+1N&#{JbuN%&M5#t=BSwDSSTX)>aNLogLd2)Sp z;i;UiZhm}M8cB{d#W`PelU~SEnS?O065t%<>0S0Rgzyj)pXVqB4+QYsr%YO=5RLCO zZVX&8^UyfghSCyJO*dlLnV{>D6s2WuU);2jGIE>rcJAF>-|%03kVT_*V>Jj_0GleR z3qP#Zq&HD3#FA0+M!$BrrP-{@w1C)9+ATE*O=8^YlJLGiApS5PzGjj9g3dbv1i4=d zrfETAe>l7PKwxTGHzM+kg5^!)rn7<_QGEf#OOaldw`zZ%#*;lef*pr&t+75kMoSC% ztupHQtsj1TNhMs$K51^8k*lU?X!7UXDCO!r<2A){ zdAMyL`?iA%8k$FW6&Z+GLBi_J5=D3d^k3yT9Me~M-P_PxBW~=&Jt|O{;_l?R<;`0i zLkJh5SjM(U{3OtKBs+q&suS!*D3p0fnEoqa2X1`xiY?nFR=P#L4O$P?uTf^)5f)te zmg4{1{t3C;^AJo}j9d_K8jgn0dMd+{38xH^w3!8{;uNwF#0Y-`m zkO0vlLHytJ#?kDqaF|5j&xVM z%t$T8+){&cc5mP=F~nXALc^?O%CK2dM^wbN(uu-#6#<4DttVEq@6-139>fp!^y`|i zz^E7fLr0~!S%&|Nz4Ywc`+Nfbp*4#vRS{IA21I+8Trykz}cGHSYrT_+)Xc zxbT#sAo+!uYb2HSl_Xh6h|rFp{wam)JmZR{z86_^dKEc`ToM|(__I(035-II-uWksgxQ^zZGV(V<1UqU+rjjiJT`UZ)_IrnV*|qg#*u3mLC{ AZvX%Q literal 0 HcmV?d00001