视频加载失败

MoonTV 搭建教程

1262 字
6 分钟
MoonTV 搭建教程

本文面向想在自有服务器上搭建 MoonTV 影视聚合播放器的用户,涵盖 Docker Compose 部署与 Upstash 云端存储配置。
适用系统: Linux(推荐 Debian / Ubuntu)
适用平台: 云服务器 / 本地 NAS / 家庭服务器

前言#

🎬 MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录、云端存储。

本文将使用 Docker Compose + Upstash 的方式来搭建 MoonTV,无需自建数据库,数据存储在云端。

Note

本文参考了 lunatv-config 项目的配置说明。

功能特性#

  • 🔍 多源聚合搜索:一次搜索立刻返回全源结果
  • 📄 丰富详情页:支持剧集列表、演员、年份、简介等完整信息展示
  • ▶️ 流畅在线播放:集成 HLS.js & ArtPlayer
  • ❤️ 收藏 + 继续观看:支持云端存储,多端同步进度
  • 📱 PWA:离线缓存、安装到桌面/主屏,移动端原生体验
  • 🌗 响应式布局:桌面侧边栏 + 移动底部导航,自适应各种屏幕尺寸
Warning

部署后项目为空壳项目,无内置播放源和直播源,需要自行收集配置。

前置条件#

在开始之前,请确保你已准备好以下环境:

  • 一台可访问的服务器(VPS、NAS、家庭服务器等)
  • 已安装 Docker 和 Docker Compose
  • 一个 Upstash 账号(注册地址

第一步:注册 Upstash#

  1. 访问 Upstash 官网 并注册账号

  2. 登录后,点击 Create Database

    Create Database
    Create Database

  3. 选择 Redis 类型,名称随意填写

  4. 创建完成后,在数据库详情页找到以下信息:

    查看详情
    查看详情

    • HTTPS 点击复制(形如 https://xxx.upstash.io
    • TOKEN 点击复制(认证令牌)
Tip

请妥善保存这两个信息,后续配置需要用到。

第二步:创建 Docker Compose 配置文件#

在你的服务器上创建项目目录:

Terminal window
mkdir moontv && cd moontv

一键创建并写入 docker-compose.yml 文件并启动 (需要替换环境变量为自己的):

Terminal window
cat > docker-compose.yml <<EOF && docker compose up -d
services:
moontv-core:
image: ghcr.io/moontechlab/lunatv:latest
container_name: moontv-core
restart: on-failure
ports:
- '33000:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=upstash
- UPSTASH_URL=https://你的HTTPS_ENDPOINT
- UPSTASH_TOKEN=你的TOKEN
EOF

第三步:配置环境变量#

请将以下环境变量替换为你自己的值:

变量说明
container_name容器名称
USERNAME管理员账号(自定义)
PASSWORD管理员密码(自定义)
NEXT_PUBLIC_STORAGE_TYPE存储类型,固定为 upstash
UPSTASH_URLUpstash 的 HTTPS ENDPOINT
UPSTASH_TOKENUpstash 的 TOKEN
Important

请务必修改 USERNAMEPASSWORD,使用强密码以保障安全。

第四步:启动服务#

运行以下命令启动 MoonTV:

Terminal window
docker compose up -d

查看容器状态:

Terminal window
docker compose ps

查看日志:

Terminal window
docker compose logs -f

启动成功后,访问 http://你的服务器IP:33000 即可打开 MoonTV。

第五步:配置播放源#

Caution

部署完成后为空壳应用,无播放源,需要在管理后台配置。

  1. 访问你的 MoonTV 地址
  2. 使用设置的管理员账号密码登录
  3. 进入管理后台的 配置文件 设置
  4. 添加播放源配置

配置文件格式示例(可直接用):

{
"cache_time": 7200,
"api_site": {
"iqiyizyapi.com": {
"name": "🎬-爱奇艺-",
"api": "https://iqiyizyapi.com/api.php/provide/vod",
"detail": "https://iqiyizyapi.com"
},
"mtzy.me": {
"name": "🎬茅台资源",
"api": "https://caiji.maotaizy.cc/api.php/provide/vod",
"detail": "https://mtzy.me"
},
"wolongzyw.com": {
"name": "🎬卧龙资源",
"api": "https://wolongzyw.com/api.php/provide/vod",
"detail": "https://wolongzyw.com"
},
"ikunzy.com": {
"name": "🎬iKun资源",
"api": "https://ikunzyapi.com/api.php/provide/vod",
"detail": "https://ikunzy.com"
},
"dyttzyapi.com": {
"name": "🎬电影天堂",
"api": "http://caiji.dyttzyapi.com/api.php/provide/vod",
"detail": "http://caiji.dyttzyapi.com"
},
"www.maoyanzy.com": {
"name": "🎬猫眼资源",
"api": "https://api.maoyanapi.top/api.php/provide/vod",
"detail": "https://www.maoyanzy.com"
},
"cj.lzcaiji.com": {
"name": "🎬量子资源",
"api": "https://cj.lzcaiji.com/api.php/provide/vod",
"detail": "https://cj.lzcaiji.com"
},
"360zy.com": {
"name": "🎬360 资源",
"api": "https://360zyzz.com/api.php/provide/vod",
"detail": "https://360zy.com"
},
"jszyapi.com": {
"name": "🎬极速资源",
"api": "https://jszyapi.com/api.php/provide/vod",
"detail": "https://jszyapi.com"
},
"www.moduzy.net": {
"name": "🎬魔都资源",
"api": "https://www.mdzyapi.com/api.php/provide/vod",
"detail": "https://www.moduzy.net"
},
"ffzyapi.com": {
"name": "🎬非凡资源",
"api": "https://api.ffzyapi.com/api.php/provide/vod",
"detail": "https://cj.ffzyapi.com"
},
"bfzy.tv": {
"name": "🎬暴风资源",
"api": "https://bfzyapi.com/api.php/provide/vod",
"detail": "https://bfzy.tv"
},
"zuida.xyz": {
"name": "🎬最大资源",
"api": "https://api.zuidapi.com/api.php/provide/vod",
"detail": "https://zuida.xyz"
},
"wujinzy.me": {
"name": "🎬无尽资源",
"api": "https://api.wujinapi.me/api.php/provide/vod",
"detail": "https://wujinzy.com"
},
"xinlangapi.com": {
"name": "🎬新浪资源",
"api": "https://api.xinlangapi.com/xinlangapi.php/provide/vod",
"detail": "https://xinlangapi.com"
},
"api.wwzy.tv": {
"name": "🎬旺旺资源",
"api": "https://api.wwzy.tv/api.php/provide/vod",
"detail": "https://api.wwzy.tv"
},
"www.subozy.com": {
"name": "🎬速播资源",
"api": "https://subocaiji.com/api.php/provide/vod",
"detail": "https://www.subozy.com"
},
"jinyingzy.com": {
"name": "🎬金鹰点播",
"api": "https://jinyingzy.com/api.php/provide/vod",
"detail": "https://jinyingzy.com"
},
"p2100.net": {
"name": "🎬飘零资源",
"api": "https://p2100.net/api.php/provide/vod",
"detail": "https://p2100.net"
},
"api.ukuapi88.com": {
"name": "🎬U酷影视",
"api": "https://api.ukuapi88.com/api.php/provide/vod",
"detail": "https://www.ukuzy.com"
},
"api.guangsuapi.com": {
"name": "🎬光速资源",
"api": "https://api.guangsuapi.com/api.php/provide/vod",
"detail": "https://api.guangsuapi.com"
},
"www.hongniuzy.com": {
"name": "🎬红牛资源",
"api": "https://www.hongniuzy2.com/api.php/provide/vod",
"detail": "https://www.hongniuzy.com"
},
"caiji.moduapi.cc": {
"name": "🎬魔都动漫",
"api": "https://caiji.moduapi.cc/api.php/provide/vod",
"detail": "https://caiji.moduapi.cc"
},
"www.ryzyw.com": {
"name": "🎬如意资源",
"api": "https://pz.v88.qzz.io/?url=https://cj.rycjapi.com/api.php/provide/vod",
"detail": "https://www.ryzyw.com"
},
"www.haohuazy.com": {
"name": "🎬豪华资源",
"api": "https://pz.v88.qzz.io/?url=https://hhzyapi.com/api.php/provide/vod",
"detail": "https://www.haohuazy.com"
},
"bdzy1.com": {
"name": "🎬百度云zy",
"api": "https://pz.v88.qzz.io/?url=https://api.apibdzy.com/api.php/provide/vod",
"detail": "https://bdzy1.com"
},
"lovedan.net": {
"name": "🎬艾旦影视",
"api": "https://pz.v88.qzz.io/?url=https://lovedan.net/api.php/provide/vod",
"detail": "https://lovedan.net"
}
}
}

订阅功能#

将完整的配置文件进行 base58 编码后提供 HTTP 服务,即为订阅链接,可在 MoonTV 后台使用。

https://pz.v88.qzz.io?format=2&source=jin18转

或者中转连接:

https://pz.v88.qzz.io?format=3&source=jin18

常见问题#

Q: 如何修改端口?#

修改 docker-compose.yml 中的端口映射:

ports:
- '8080:3000' # 将 33000 改为你想要的端口

Q: 如何备份数据?#

由于使用 Upstash 云端存储,你的播放记录和收藏数据已自动存储在云端,无需额外备份。

支持与分享

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

打赏
MoonTV 搭建教程
https://blog.xgiao.com/posts/moontv-setup/
作者
xgiao
发布于
2026-06-18
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
暂无相关文章
随机文章随机推荐
Profile Image of the Author
XGiao
一个不会写代码的菜鸟的博客。
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
1
分类
1
标签
5
总字数
1,312
运行时长
0
最后活动
0 天前
站点信息
构建平台
Cloudflare Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录