mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
619 字
2 分钟
MoonTVPlus 影视聚合播放器 Docker 部署教程

MoonTVPlus 影视聚合播放器 Docker 部署教程#

简介#

MoonTVPlus 是基于 MoonTV v100 二次开发的增强版影视聚合播放器。相比原版,它新增了外部播放器跳转、视频超分(Anime4K)、弹幕系统、豆瓣评论抓取、观影室、服务器离线下载、私人影库等实用功能。

WARNING

部署后的项目是一个空壳,不内置任何播放源与直播源,需要站长在管理后台自行配置资源站接口。且项目声明仅供个人学习使用,请勿公开分享实例或在中国大陆地区提供服务。

技术栈#

分类主要依赖
前端框架Next.js 14(App Router)
样式Tailwind CSS 3
语言TypeScript 4
播放器ArtPlayer · HLS.js
部署Docker · Vercel · Netlify · Cloudflare Workers · EdgeOne Pages

Docker 部署#

官方镜像为 ghcr.io/mtvpls/moontvplus:latest,默认端口 3000。存储后端支持 Kvrocks(推荐)、SQLite、Redis、Upstash 等,通过环境变量 NEXT_PUBLIC_STORAGE_TYPE 切换。

Kvrocks 存储(推荐)#

services:
moontv-core:
image: ghcr.io/mtvpls/moontvplus:latest
container_name: moontv-core
restart: on-failure
ports:
- '3000:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=kvrocks
- KVROCKS_URL=redis://moontv-kvrocks:6666
networks:
- moontv-network
depends_on:
- moontv-kvrocks
moontv-kvrocks:
image: apache/kvrocks
container_name: moontv-kvrocks
restart: unless-stopped
volumes:
- kvrocks-data:/var/lib/kvrocks/db
networks:
- moontv-network
networks:
moontv-network:
driver: bridge
volumes:
kvrocks-data:
NOTE

若自行指定 kvrocks-data 宿主机目录,需将该目录权限调整为 777,否则可能导致数据库创建失败。

SQLite 存储#

services:
moontv-core:
image: ghcr.io/mtvpls/moontvplus:latest
container_name: moontv-core
restart: on-failure
ports:
- '3000:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=d1
- SQLITE_DB_PATH=/app/.data/moontv.db
volumes:
- ./data:/app/.data

Redis 存储#

services:
moontv-core:
image: ghcr.io/mtvpls/moontvplus:latest
container_name: moontv-core
restart: on-failure
ports:
- '3000:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=redis
- REDIS_URL=redis://moontv-redis:6379
networks:
- moontv-network
depends_on:
- moontv-redis
moontv-redis:
image: redis:alpine
container_name: moontv-redis
restart: unless-stopped
networks:
- moontv-network
volumes:
- ./data:/data
networks:
moontv-network:
driver: bridge
WARNING

Redis 存储有一定丢数据风险,请务必开启持久化(如上挂载 ./data),否则升级/重启后数据可能丢失。

Upstash 存储#

  1. Upstash 注册并新建 Redis 实例。
  2. 复制其 HTTPS ENDPOINTTOKEN
  3. 使用如下 docker-compose.yml
services:
moontv-core:
image: ghcr.io/mtvpls/moontvplus:latest
container_name: moontv-core
restart: on-failure
ports:
- '3000:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=upstash
- UPSTASH_URL=上面 https 开头的 HTTPS ENDPOINT
- UPSTASH_TOKEN=上面的 TOKEN

Lite 镜像说明#

ghcr.io/mtvpls/moontvplus-lite:latest 体积更小,但不支持内置观影室服务,也不支持 SQLite(d1)自动初始化。其余用法与标准镜像一致。

环境变量要点#

变量说明必填
USERNAME站长账号
PASSWORD站长密码
NEXT_PUBLIC_STORAGE_TYPE存储方式:redis/kvrocks/upstash/d1/turso/postgres
KVROCKS_URL / REDIS_URL / UPSTASH_URL / TURSO_URL对应存储连接地址视存储类型
NEXT_PUBLIC_SITE_NAME站点名称(默认 MoonTV)
ANNOUNCEMENT站点公告
INIT_CONFIG初始配置(JSON,含 api_site/custom_category/lives

初始化播放源配置#

启动后进入管理后台的「配置文件」设置,填写资源站。示例:

{
"cache_time": 7200,
"api_site": {
"dyttzy": {
"api": "http://xxx.com/api.php/provide/vod",
"name": "示例资源",
"detail": "http://xxx.com"
}
},
"custom_category": [
{
"name": "华语",
"type": "movie",
"query": "华语"
}
]
}
  • api_site:苹果 CMS V10 标准的 vod JSON API,可增删多个源。
  • custom_category:自定义导航分类,type 支持 movie/tvquery 为豆瓣搜索词。

自动更新#

可借助 watchtower 或 dockge/komodo 等 compose UI 的自动更新功能保持镜像为最新版本。


祝你天天开心!

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

MoonTVPlus 影视聚合播放器 Docker 部署教程
https://blog.sywan.top/posts/moontvplus/
作者
屿
发布于
2026-08-26
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00