QQ20250626-191620.avif

还在为找片东奔西跑?资源网站广告多到爆炸?
嘿,我是你们爱折腾的NAS老司机! 最近挖到了个大宝贝——MoonTV影视聚合神器,它彻底治好了我的追剧焦虑!

这个基于Next.js 14的开源播放器真的太懂影迷了:
多源聚合搜索:一键扫遍全网资源,告别反复切换网站!
流畅秒播:HLS.js+VidStack双播放器加持,卡顿?不存在的~
跨设备同步:收藏夹+播放记录自动同步,手机/Pad/电脑无缝接力
最绝的是——NAS+Docker部署简单到哭无需下载资源,一条命令就能在自家设备上搭建专属影视站

📦 这篇保姆级图文教程,让我来带你用Docker镜像在NAS上轻松架设MoonTV,从此告别广告和片荒!点击就看如何让闲置NAS变身24小时私人流媒体服务器👇

✨ MoonTV 主要功能特色

  • 🎬 MoonTV 是一款开箱即用的跨平台影视聚合播放器,基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录、本地/云端存储等功能,让你随时随地畅享海量免费影视内容。

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

  • 📄 丰富的详情页
    显示完整的剧集列表、演员信息、上映年份和简介等。

  • ▶️ 流畅在线播放
    集成 HLS.js 和 VidStack 播放器,体验更佳。

  • ❤️ 收藏 + 继续观看
    默认使用 LocalStorage,支持后续扩展为数据库存储。

  • 📱 PWA 支持
    支持离线缓存、桌面快捷方式、原生移动端体验。

  • 🌗 响应式布局
    桌面侧边栏 + 移动底部导航,自适应各种设备。

  • 🚀 极简部署
    一条 Docker 命令即可部署完整服务,亦可一键部署至 Vercel。

  • 👿 智能去广告(实验性)
    自动跳过播放中的广告切片。


⚠️ 重要声明

作者申明该项目仅供学习和个人使用,请勿用于任何商业用途或公开部署服务。

  • 不得将实例用于商业用途;

  • 不得公开部署链接;

  • 使用需遵守当地法律法规;

  • 项目开发者不对使用行为承担任何法律责任。


📷 MoonTV 页面预览


🧩 MoonTV 安装部署教程(以飞牛 NAS 为例)

如果你使用其他系统,请提前安装好最新版 DockerDocker Compose


  1. 演示以在飞牛NAS系统上安装为例
    (其他系统请自行安装好最新版本Docker、Docker Compose)

  2. 打开飞牛的SSH功能,使用终端软件进行连接,并切换到root状态下。
    fnOS open SSH.png

  3. 在飞牛NAS上新建一个项目文件夹>右键>详细信息>常规>复制原始路径。

  4. 进入项目文件夹

    # 将/vol1/1000/moontv换成你自己的文件夹路径
    
    cd /vol1/1000/moontv
  5. 编辑docker-compose.yml模板文件

    vi docker-compose.yml
  6. 按字母i键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc键退出编辑模式,输入:wq保存并退出。

    (排版太挤的就先粘贴到文本文件内,修改后再使用,灵活应变。)

    version: '3.9'
    services:
      moontv:
        image: ghcr.io/senshinya/moontv:latest    # 将Docker镜像名换成最新的
        container_name: moontv
        restart: unless-stopped
        ports:
          - '3000:3000'    # 左侧的3000端口是容器的外部访问端口,建议修改.(与飞牛的浏览器套件端口冲突)
        environment:
          - PASSWORD=S20306    # 将S20306换成你自己的密码,这是实例访问密码,留空则不启用密码保护,这样所有人都能直接访问。
          - NEXT_PUBLIC_DISABLE_BLOCKAD=false    # 禁用智能去广告功能,true / false 默认false关闭。
          - NEXT_PUBLIC_SEARCH_MAX_PAGE=5    # 搜索接口可拉取的最大页数是1-50,默认为5。
          - NEXT_PUBLIC_AGGREGATE_SEARCH_RESULT=true    # 搜索结果默认是否按标题和年份聚合,true / false 默认true开启。
        # 如需自定义配置,可挂载文件。
        # volumes:
        #   - ./config.json:/app/config.json:ro
  7. MoonTV项目受到波折,目前已将代码托管到别处,镜像名称也已更改。
    获取最新的项目代码、镜像名、文件请关注微信公众号【白数】,回复:MoonTV最新地址202508image-BqEf.png

  8. 如果想要自定义采集接口配置文件,可以将上面的自定义配置取消注释,然后在当前项目文件夹内创建。
    MoonTV 支持标准的苹果 CMS V10 API 格式,修改后 无需重新构建,服务会在启动时读取一次。

  9. 编辑config.json配置文件(有能力的动手操作)

    vi config.json
  10. 按字母i键进入编辑模式,将你编排的配置粘贴到终端,按Esc键退出编辑模式,输入:wq保存并退出。

    (排版太挤的就先粘贴到文本文件内,修改后再使用,灵活应变。)

    {
      "cache_time": 7200,
      "api_site": {
        "dyttzy": {
          "api": "http://caiji.dyttzyapi.com/api.php/provide/vod",
          "name": "电影天堂资源",
          "detail": "http://caiji.dyttzyapi.com"
        }
        // ...更多站点
      }
    }
  11. 下面是采集模板的注释

    cache_time:接口缓存时间(秒)。
    api_site:你可以增删或替换任何资源站,字段说明:
    key:唯一标识,保持小写字母/数字。
    api:资源站提供的 vod JSON API 根地址。
    name:在人机界面中展示的名称。
    detail:(可选)部分无法通过 API 获取剧集详情的站点,需要提供网页详情根 URL,用于爬取。
  12. 执行命令,启动docker-compose模板文件,拉取镜像并创建容器。

    docker compose up -d
    
    或
    
    docker-compose up -d
    
  13. 查看正在运行的项目容器

    docker compose ps
    
    或
    
    docker-compose ps
  14. 查看正在运行的项目容器实时日志,按Ctrl+C中断查看。

    docker compose logs -f
    
    或
    
    docker-compose logs -f

🌐 访问 MoonTV

  1. 打开浏览器,以NAS的IP+设置的端口号进行访问。

    以本机为例:http://192.168.2.5:3000
    输入你设置的密码后点击登录

  2. 登录成功
    QQ20250626-191620.avif

  3. 随便点击一个电影,自动搜索采集到的接口播放地址。

  4. 播放的很流畅,播放页面还有播放源可以选择。


🔗 项目地址


📌 结语

MoonTV 是目前 NAS 上极具性价比的影视聚合播放方案,借助 Docker 可轻松部署,欢迎各位爱好者尝试使用。如有更多资源站点或使用经验,欢迎在评论区交流!

文末

👇👇👇