所有配置项均支持
环境变量、env配置文件、WEB界面三种配置方式,且优先级为:环境变量>env配置文件==WEB界面。在环境变量中配置了的项,env配置文件及WEB界面配置将不会生效,以环境变量为准。
❗号标识的为必填项,其它为可选项,可选项可删除配置变量从而使用默认值。
认证站点和认证参数等个别参数需要通过环境变量设置,才能正常使用MoviePilot,没有❗标识的可以不用设置。
不再持续更新,在MoviePilot中点击用头像,弹出菜单中
用户认证可选择的站点即代表支持该站点认证。
❗AUTH_SITE: 认证站点(认证通过后才能使用站点相关功能),支持配置多个认证站点,使用,分隔,如:iyuu,hhclub,会依次执行认证操作,直到有一个站点认证成功。
v2.0.7及以上版本,已支持通过UI进行用户认证:点击用户头像 -> 用户认证,无需配置环境变量。
根据下表配置AUTH_SITE,以及对应站点的认证参数(最新支持情况以系统显示为准):
| 站点名 | AUTH_SITE | 环境变量 |
|---|---|---|
| IYUU | iyuu | IYUU_SIGN:IYUU登录令牌 |
| 憨憨 | hhclub | HHCLUB_USERNAME:用户名HHCLUB_PASSKEY:密钥 |
| 观众 | audiences | AUDIENCES_UID:用户IDAUDIENCES_PASSKEY:密钥 |
| 高清杜比 | hddolby | HDDOLBY_ID:用户IDHDDOLBY_PASSKEY:密钥 |
| 织梦 | zmpt | ZMPT_UID:用户IDZMPT_PASSKEY:密钥 |
| 自由农场 | freefarm | FREEFARM_UID:用户IDFREEFARM_PASSKEY:密钥 |
| 红豆饭 | hdfans | HDFANS_UID:用户IDHDFANS_PASSKEY:密钥 |
| 冬樱 | wintersakura | WINTERSAKURA_UID:用户IDWINTERSAKURA_PASSKEY:密钥 |
| 红叶PT | leaves | LEAVES_UID:用户IDLEAVES_PASSKEY:密钥 |
| 1PTBA | ptba | PTBA_UID:用户IDPTBA_PASSKEY:密钥 |
| 冰淇淋 | icc2022 | ICC2022_UID:用户IDICC2022_PASSKEY:密钥 |
| 杏坛 | xingtan | XINGTAN_UID:用户IDXINGTAN_PASSKEY:密钥 |
| 象站 | ptvicomo | PTVICOMO_UID:用户IDPTVICOMO_PASSKEY:密钥 |
| AGSVPT | agsvpt | AGSVPT_UID:用户IDAGSVPT_PASSKEY:密钥 |
| 麒麟 | hdkyl | HDKYL_UID:用户IDHDKYL_PASSKEY:密钥 |
| 青蛙 | qingwa | QINGWA_UID:用户IDQINGWA_PASSKEY:密钥 |
| 蝶粉 | discfan | DISCFAN_UID:用户IDDISCFAN_PASSKEY:密钥 |
| 海胆之家 | haidan | HAIDAN_ID:用户IDHAIDAN_PASSKEY:密钥 |
| Rousi | rousi | ROUSI_UID:用户IDROUSI_PASSKEY:密钥 |
| Sunny | sunny | SUNNY_UID:用户IDSUNNY_PASSKEY:密钥 |
| 咖啡 | ptcafe | PTCAFE_UID:用户IDPTCAFE_PASSKEY:密钥 |
| PTZone | ptzone | PTZONE_UID:用户IDPTZONE_PASSKEY:密钥 |
| 库非 | kufei | KUFEI_UID:用户IDKUFEI_PASSKEY:密钥 |
| YemaPT | yemapt | YEMAPT_UID:用户IDYEMAPT_AUTH:密钥注意:需v2.2.0或以上版本 |
| 回声 | hspt | HSPT_UID:用户IDHSPT_AUTH:密钥 |
| 星陨阁 | xingyunge | XINGYUNGE_UID:用户IDXINGYUNGE_PASSKEY:密钥 |
| 财神 | cspt | CSPT_UID:用户IDCSPT_PASSKEY:密钥 |
| 唐门 | tmpt | TMPT_UID:用户IDTMPT_PASSKEY:密钥 |
| 雨 | raingfh | RAINGFH_UID:用户IDRAINGFH_PASSKEY:密钥 |
| GTK | gtkpw | GTKPW_UID:用户IDGTKPW_PASSKEY:密钥 |
| PTLGS | ptlgs | PTLGS_UID:用户IDPTLGS_PASSKEY:密钥 |
| HDBAO | hdbao | HDBAO_UID:用户IDHDBAO_PASSKEY:密钥 |
| 下水道 | sewerpt | SEWERPT_UID:用户IDSEWERPT_PASSKEY:密钥 |
| PTS | ptskit | PTSKIT_UID:用户IDPTSKIT_PASSKEY:密钥 |
3000,可自行修改,不能与API服务端口冲突3001,可自行修改,不能与WEB服务端口冲突uid,默认0gid,默认0000,可以考虑设置为0220.0.0.0/configAsia/Shanghai--group-add keep-groups(需要 crun 运行时支持)以将宿主用户的附加组权限侧漏到容器中,同时使用 START_NOGOSU=true 避免容器内切换用户导致 initgroups() 被调用,使得侧漏进来的补充组权限被清空。将此环境变量设置为 true 会导致 PUID 与 PGID 环境变量失效,因为容器内不再会进行用户切换。默认为 false。chromium或者firefox,默认chromium。在使用CookieCloud将浏览器cookies同步到MoviePilot时:如果使用的是火狐浏览器,则设置为firefox会获得更好的兼容性;如果使用的是谷歌浏览器或者chromium类浏览器,则不要更改。true/false,启用后需要设置完整相关参数,否则无法正常访问后台,仅支持Docker环境true/false,启用后会自动安装acme.sh签发证书并定时更新,仅支持DNS认证方式,需要同时以ACME_ENV_开关设置好DNS认证相关参数;不启用时,需要手动准备SSL证书文件,以文件名:/config/certs/latest/fullchain.pem、/config/certs/latest/privkey.pem 存放ACME_ENV_开头才会被正常使用,比如 ACME_ENV_CF_TokenV1版本有些进阶配置参数需要通过配置文件进行配置(不配置会自动使用默认值),配置文件名:app.env,放配置文件根目录,点击 此处 可下载模板。
V2 版本变化说明
v2.0.0+ 版本后以下几乎所有变量均可通过前端界面进行设置,无需手动编辑配置文件。需要特别注意的是,如果某些配置项已在环境变量中设置,则env配置文件及前端界面配置将不会生效,系统将以环境变量的设置为准,并且在前端界面尝试修改这些配置时,将提示失败。
admin,安装后使用该用户登录后台管理界面。注意:仅在首次安装时生效!v2.8.0+版本才支持,仅在首次安装时生效,不配置时系统会自动生成随机密码,随机密码会在首次启动的日志中打印。注意:仅在首次安装时生效!moviepilot,V2版本需要配置为大于等于16个字符的复杂字符串 (如配置不符合要求将会强制重新生成,可在后台日志、env配置文件或系统设定中查看最新的值) 。在媒体服务器Webhook、微信回调等地址配置中需要加上?token=该值。falsehttps://movie-pilot.org,默认为空v2.8.0+版本才支持,默认为 true,开启后会显示全部设置选项,否则仅显示设置向导,引导完成简化设置。true/false,默认false,仅用于本地开发使用,开启后会暂停所有定时任务,且插件代码文件的修改无需重启会自动重载生效http(s)://ip:port、socks5://user:pass@host:port、socks5h://user:pass@host:porttrue/false,默认true,开启后会使用DOH对设定域名进行解析,以减少被DNS污染的情况,提升网络连通性,分隔,默认为:api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org
,分隔,默认为 1.0.0.1,1.1.1.1,9.9.9.9,149.112.112.112https://mirror.ghproxy.com/https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple{user1}/{repo1}:ghp_****,{user2}/{repo2}:github_pat_****true/release/dev/false,默认release,需要能正常连接Github 注意:如果出现网络问题可以配置PROXY_HOSTtrue/false,默认true,需要能正常连接Github,仅支持Docker镜像tcp://127.0.0.1:38379,官方docker境像无需单独配置cachetools 和 redis,默认使用 cachetoolsredis://:password@host:port,默认为redis://localhost:6379Redis 缓存最大内存限制,为 0 时不限制,未配置时,如开启大内存模式时为 1024mb,未开启时为 256mbfalse7天3天使用 redis 作为缓存时时参考 安装Redis 安装配置Redis环境。
sqlite 和 postgresql(仅v2.7.3+),默认使用 sqlitetrue,可提升读写并发性能,但可能在异常情况下增加数据丢失风险60 秒QueuePool 和 NullPool,默认为 QueuePooltrue300303050localhost5432moviepilotmoviepilotmoviepilot3050使用 PostgreSQL 数据库时参考 安装Postgresql 安装配置数据库环境。
["*"],表示允许所有域名11520(8天)1800(30分钟)falseDEBUG、INFO、WARNING、ERROR 等,默认为 INFO510%(leveltext)s[%(name)s] %(asctime)s %(message)s【%(levelname)s】%(asctime)s - %(message)s10002503.0["image.tmdb.org", "static-mdb.v.geilijiasu.com", "bing.com", "doubanio.com", "lain.bgm.tv", "raw.githubusercontent.com", "github.com", "thetvdb.com", "cctvpic.com", "iqiyipic.com", "hdslb.com", "cmvideo.cn", "ykimg.com", "qpic.cn"][".jpg", ".jpeg", ".png", ".webp", ".gif", ".svg", ".avif"]true,优先提升探测效率,但可能降低编码探测的准确性false,可提升历史记录搜索精度,但可能增加性能开销和意外结果falseRMT_MEDIAEXT: 支持的媒体文件后缀格式,默认为 ['.mp4', '.mkv', '.ts', '.iso', '.rmvb', '.avi', '.mov', '.mpeg', '.mpg', '.wmv', '.3gp', '.asf', '.m4v', '.flv', '.m2ts', '.strm', '.tp', '.f4v']
RMT_SUBEXT: 支持的字幕文件后缀格式,默认为 ['.srt', '.ass', '.ssa', '.sup']
RMT_AUDIO_TRACK_EXT: 支持的音轨文件后缀格式,默认为 ['.mka']
RMT_AUDIOEXT: 支持的音频文件后缀格式,默认为 ['.aac', '.ac3', '.amr', '.caf', '.cda', '.dsf', '.dff', '.kar', '.m4a', '.mp1', '.mp2', '.mp3', '.mid', '.mod', '.mka', '.mpc', '.nsf', '.ogg', '.pcm', '.rmi', '.s3m', '.snd', '.spx', '.tak', '.tta', '.vqf', '.wav', '.wma', '.aifc', '.aiff', '.alac', '.adif', '.adts', '.flac', '.midi', '.opus', '.sfalc']
MOVIE_RENAME_FORMAT: 电影重命名格式,默认内置了以下命名格式,如需自定义可参考 进阶 自定义重命名格式章节说明。
{{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}
TV_RENAME_FORMAT: 电视剧重命名格式,默认内置了以下命名格式,如需自定义可参考 进阶 自定义重命名格式章节说明。
{{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}
RENAME_FORMAT_S0_NAMES: 重命名时支持的S0别名,默认为 ["Specials", "SPs"]
DEFAULT_SUB: 为指定默认字幕添加.default后缀,默认为 zh-cn
SCRAP_FOLLOW_TMDB: 新增已入库媒体是否跟随TMDB信息变化,默认为 true
TRANSFER_THREADS: 文件整理线程数,v2.9.5新增,默认为 1 ,设为 1 关闭多线程整理
themoviedb/douban/bangumi,多个用,分隔,默认为 themoviedb,douban,bangumithemoviedb/douban,默认为 themoviedb[16]themoviedb/douban,默认为 themoviedbimage.tmdb.orgapi.themoviedb.orgzhfalsetrue,分隔,默认为 zh,en6spider30true/false,默认truefalsefalse6true,分隔,默认为 m-teamplaywright 或 flaresolverr,默认为 playwrighthttp://127.0.0.1:8191,默认为空false2['.!qb', '.part']MOVIEPILOTtrue/false,默认trueall 代表全部用户自动择优下载,未设置需要手动选择资源或者回复0才自动择优下载falsehttps://movie-pilot.org/cookiecloud1440(24小时)http(s)://ip:port,用于识别站点验证码实现自动登录获取Cookie等,不配置默认使用内建服务器https://movie-pilot.org,可使用 这个镜像 自行搭建。https://movie-pilot.orgPLUGIN_MARKET: 插件市场仓库地址,仅支持Github仓库main分支,多个地址使用,分隔,通过查看MoviePilot-Plugins项目的fork,或者查看频道置顶了解更多第三方插件仓库。详情参照 插件。
PLUGIN_AUTO_RELOAD: 是否开启插件热加载,默认为 false
true/false,默认truetrue/false,默认truetruetruetmdb/bing/mediaserver,默认为 tmdbfalse,开启后会增加缓存数量,占用更多的内存,但响应速度会更快true,优先提升探测效率,但可能降低编码探测的准确性0.830,0 为不启用使用Redis缓存可以进一步减少MoviePilot主程序内存占用,同时会将本地文件缓存自动迁移到Redis中,以提升运行效率。以下提供Docker环境下的Redis安装和配置指南。
根据需要决定是否开启持久化,不开时重启Redis后缓存数据会丢失,但不会影响程序正常运行(建议设置复杂密码)
# 创建持久化目录
mkdir -p /volume1/docker/redis/data
# 启动带持久化的Redis
docker run \
--name my-redis \
-p 6379:6379 \
-v /volume1/docker/redis/data:/data \
-d redis redis-server --save 600 1 --requirepass "你的密码"
在MoviePilot的环境变量或配置文件中设置以下参数(建议设置复杂密码):
# 缓存类型,支持 cachetools 和 redis,默认使用 cachetools
CACHE_BACKEND_TYPE=redis
# 缓存连接字符串,仅Redis缓存需要
CACHE_BACKEND_URL=redis://:你的密码@localhost:6379
重启MoviePilot生效。
使用PostgreSQL数据库可以提升MoviePilot的性能和并发处理能力,特别适合数据量较大的用户。以下提供Docker环境下的PostgreSQL安装和配置指南。
使用Docker运行PostgreSQL容器(请设置复杂密码,不要使用默认密码):
docker run -d \
--name postgresql \
-p 5432:5432 \
-e POSTGRES_DB=moviepilot \
-e POSTGRES_USER=moviepilot \
-e POSTGRES_PASSWORD="你的密码" \
-v /volume1/docker/postgresql:/var/lib/postgresql/data \
postgres
请根据实际情况调整端口映射、数据卷路径和PostgreSQL版本。
进入PostgreSQL容器设置用户权限:
# 进入容器
docker exec -it postgresql bash
# 连接到PostgreSQL
psql -U moviepilot
# 授予用户权限
GRANT ALL PRIVILEGES ON SCHEMA public TO moviepilot;
GRANT ALL PRIVILEGES ON DATABASE moviepilot TO moviepilot;
ALTER USER moviepilot CREATEDB;
# 退出psql
\q
如果要从SQLite迁移存量数据到PostgreSQL,可以使用pgloader工具,全新安装可忽略:
user.db 文件放置到 PostgreSQL 的配置目录# 进入容器
# docker exec -it postgresql bash
apt update
apt install pgloader
pgloader sqlite:////var/lib/postgresql/data/user.db postgresql://moviepilot:你的密码@localhost:5432/moviepilot
注意:数据迁移前请备份原有SQLite数据库文件。
在MoviePilot的环境变量或配置文件中设置以下参数(请设置复杂密码,不要使用默认密码):
# 数据库类型
DB_TYPE=postgresql
# PostgreSQL连接参数
DB_POSTGRESQL_HOST=localhost
DB_POSTGRESQL_PORT=5432
DB_POSTGRESQL_DATABASE=moviepilot
DB_POSTGRESQL_USERNAME=moviepilot
DB_POSTGRESQL_PASSWORD="你的密码"
如果是先升级到了 v2.7.3+ 版本再切换数据库的,在PostgreSQL对应数据库中执行以下语句,并重启MP,以触发数据库升级:
# 进入容器
# docker exec -it postgresql bash
# 连接到PostgreSQL
# psql -U moviepilot
update alembic_version set version_num = 'd58298a0879f';
重启MoviePilot后,检查日志确认PostgreSQL连接正常。
MoviePilot通过对外提供Api的方式实现消息接入、Webhook等功能,以下是涉及可能需要在其它软件中配置的回调地址。
V2版本变化说明
v2.0.0+ 版本后API_TOKEN需要设置16位或以上的复杂字符串 ,如果同一类型的消息和媒体服务器配置了多个,回调请求地址中还需要加上 &source=配置名称 参数,其中配置名称建议使用英文,如果配置名称为中文或存在特殊字符(如空格),部分平台(如企业微信)可能需要进行URL编码。为了方便识别和管理,建议统一在所有回调地址中添加source参数,以确保各配置间的区分和调用更加清晰。
/api/v1/message/?token=moviepilot,微信、SynologyChat、VoceChat的消息回调地址,其中moviepilot修改为实际配置中的API_TOKEN的值。/api/v1/webhook?token=moviepilot,Emby、Jellyfin、Plex等Webhook回调地址,用于接入Webhook请求并传递到MoviePilot内部使用,其中moviepilot修改为实际配置中的API_TOKEN的值。/api/v1/transfer/now?token=moviepilot,下载文件自动整理默认轮循下载器间隔为5分钟,如果是使用qbittorrent,可在 QB设置->下载完成时运行外部程序 处填入:curl "http://localhost:3000/api/v1/transfer/now?token=moviepilot" ,实现无需等待轮循下载完成后立即整理入库(地址、端口和token按实际调整,curl也可更换为wget)。