MoonTV 是一个开源的跨平台影视聚合播放器

一、MoonTV 项目概述

MoonTV 是一个开源的跨平台影视聚合播放器,基于现代技术栈构建,提供免费影视内容的搜索与播放服务。

参考本站的安装的moontv 影视站  https://m.tyhlw.org     登录密码:tyhlw.org

核心功能与特性

  1. 多源聚合搜索

    • 内置数十个免费资源站点,一次搜索即可返回全网结果。

  2. 完整影视详情页

    • 展示剧集列表、演员信息、年份、简介等元数据。

  3. 流畅播放体验

    • 集成 HLS.jsArtPlayer(或 VidStack),支持 HLS 流媒体播放。

  4. PWA 支持

    • 支持离线缓存、安装到桌面/主屏,提供类原生应用的移动端体验。

  5. 响应式布局

    • 桌面端采用侧边栏,移动端底部导航,适配不同设备屏幕。

技术栈

  • 前端框架: Next.js 14(服务端渲染 React)

  • 样式引擎: Tailwind CSS

  • 开发语言: TypeScript

  • 代码规范: ESLint + Prettier + Jest 测试

扩展开发方向

  • 升级存储至数据库(MySQL/MongoDB),替代 LocalStorage。

  • 增加用户系统(注册/登录、个性化推荐)。

  • 开发后台管理系统(资源站点维护)。

  • 集成广告系统或安全加固(HTTPS/权限控制)。


二、Docker 安装 MoonTV 详细步骤

方法 1:直接运行 Docker 命令

# 拉取最新镜像 
docker pull ghcr.io/senshinya/moontv:latest  
 
# 启动容器(映射端口 3000)
docker run -d --name moontv -p 3000:3000 ghcr.io/senshinya/moontv:latest  

方法 2:使用 Docker Compose

  1. 创建 docker-compose.yml 文件:

version: '3.9'
services:
  moontv:
    image: ghcr.io/senshinya/moontv:latest 
    container_name: moontv
    ports:
      - "3000:3000"
    restart: unless-stopped
  1. 启动服务:

docker-compose up -d

访问服务

安装完成后,通过浏览器访问:

http://服务器IP:3000

三、注意事项

  1. 端口冲突

    • 若宿主机 3000 端口被占用,可修改命令中的映射端口(如 -p 8080:3000)。

  2. 数据持久化

    • 当前版本默认使用 LocalStorage 存储数据,重启容器后数据会丢失。如需持久化,需自行扩展数据库功能。

  3. 资源站点稳定性

    • 项目依赖第三方免费资源站点,部分站点可能失效,需定期维护或替换


提示:部署后建议配置反向代理(如 Nginx)并启用 HTTPS 提升安全性。更多配置细节可参考项目 GitHub 仓库

阅读剩余
THE END