AI智能摘要
MoonTV 是一个基于 Next.js 14、Tailwind CSS 和 TypeScript 开发的跨平台影视聚合播放器,支持多源资源搜索及在线播放。具备收藏同步、播放记录、本地及云端存储等功能,并提供桌面和移动端的自适应界面。用户可通过 Vercel 免费部署,或使用 Docker 命令快速启动服务。Docker 部署还支持多账户数据隔离和跨设备同步。项目提供了丰富的电视节目详情页面,并采用 HLS.js 与 ArtPlayer 实现流畅播放体验。
— 此摘要由AI分析文章内容生成,仅供参考。
项目地址:senshinya/MoonTV
【注意】不要部署在cloudflare上,此行为会导致你的账户被封!
项目简介
MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录、本地/云端存储,随时随地畅享海量免费影视内容。
功能特性
- 🔍 多源聚合搜索:内置数十个免费资源站点,一次搜索立刻返回全源结果。
- 📄 丰富详情页:支持剧集列表、演员、年份、简介等完整信息展示。
- ▶️ 流畅在线播放:集成 HLS.js & ArtPlayer。
- ❤️ 收藏 + 继续观看:LocalStorage 存储,后续扩展 DB 存储。
- 📱 PWA:离线缓存、安装到桌面/主屏,移动端原生体验。
- 🌗 响应式布局:桌面侧边栏 + 移动底部导航,自适应各种屏幕尺寸。
- 🚀 极简部署:一条 Docker 命令即可将完整服务跑起来,或免费部署到 Vercel。
页面截图

安装部署
Vercel部署
普通部署(localstorage)
- Fork 本仓库到你的 GitHub 账户。
- 登陆 Vercel,点击 Add New → Project,选择 Fork 后的仓库。
- (强烈建议)设置 PASSWORD 环境变量。
- 保持默认设置完成首次部署。
- 如需自定义
config.json
,请直接修改 Fork 后仓库中该文件。 - 每次 Push 到
main
分支将自动触发重新构建。
Upstash Redis 支持
- 完成普通部署并成功访问。
- 在 upstash 注册账号并新建一个 Redis 实例,名称任意。
- 复制新数据库的 HTTPS ENDPOINT 和 TOKEN
- 返回你的 Vercel 项目,新增环境变量 UPSTASH_URL 和 UPSTASH_TOKEN,值为第二步复制的 endpoint 和 token
- 设置环境变量 NEXT_PUBLIC_STORAGE_TYPE,值为 upstash;设置 USERNAME 和 PASSWORD 作为站长账号
- 重试部署
Docker部署(推荐)
现已支持多账户数据隔离,跨设备同步!仅限docker-redis版
docker-compose代码
services: moontv-core: image: ghcr.io/senshinya/moontv:latest container_name: moontv restart: unless-stopped ports: - '3000:3000' environment: - USERNAME=admin - PASSWORD=admin_password - NEXT_PUBLIC_STORAGE_TYPE=redis - REDIS_URL=redis://moontv-redis:6379 - NEXT_PUBLIC_ENABLE_REGISTER=true networks: - moontv-network depends_on: - moontv-redis # 如需自定义配置,可挂载文件 # volumes: # - ./config.json:/app/config.json:ro moontv-redis: image: redis container_name: moontv-redis restart: unless-stopped networks: - moontv-network # 如需持久化 # volumes: # - ./data:/data networks: moontv-network: driver: bridge
建议数据目录持久化!
发布者:木木,转载请注明出处:https://blog.huzz.cn/8515.html