最近,我发现了一个名为 MoonTV 的开源项目,它作为一个跨平台的影视聚合播放器,很好地解决了这个问题。本篇文章就来记录一下我使用 Docker 在本地部署 MoonTV 的经历。

wechat_2025-08-08_232416_213.png

MoonTV 是什么?

根据官方介绍,MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 构建,聚合了多个免费资源站点,支持多源搜索、在线播放、收藏和播放记录同步等功能。最吸引我的是,它可以非常方便地进行本地化部署,完全由自己掌控,用于个人观看。

wechat_2025-08-08_232430_716.png
项目的主要特性包括:

  • 多源聚合搜索:内置多个免费资源站,一次搜索即可获得全面的结果。
  • 流畅在线播放:集成了流畅的网页播放器。
  • 收藏与继续观看:支持将播放记录和收藏保存在本地或云端(如 Redis),方便多设备同步。
  • 响应式布局:无论是桌面电脑还是移动设备,都有不错的浏览体验。
  • 部署简单:官方支持 Docker, Vercel 等多种部署方式,对我来说,Docker 是最简单直接的选择。
  • PWA 支持:可以像原生 App 一样安装到桌面或手机主屏幕。

我的本地部署过程

我的需求非常简单:在自己的电脑上部署一个实例,供个人使用。官方推荐的 local storage 版本完全满足我的需求,部署过程确实和我预想的一样简单。

以下是我的操作步骤:

  1. 创建项目文件夹:首先,我在 D:\docker_projects 文件夹中创建了一个名为 MoonTV 的新文件夹,用于存放配置文件。

  2. 进入目录并创建 docker-compose.yml 文件:我通过 cmd 命令行工具进入该目录:

    cd D:\docker_projects\MoonTV
    ```    然后,在 `MoonTV` 文件夹内创建了一个 `docker-compose.yml` 文件。
    
    
  3. 编写 docker-compose.yml:我直接使用了官方推荐的 local storage 版本的配置。这个版本的好处是无需外部数据库,所有数据都存储在浏览器本地,对于个人使用来说已经足够。

    文件内容如下:

    services:
      moontv-core:
        image: ghcr.io/lunatechlab/moontv:latest
        container_name: moontv-core
        restart: unless-stopped
        ports:
          - '3213:3000'
        environment:
          - PASSWORD=这里写了我的密码
        # 如需自定义配置,可挂载文件
        # volumes:
        #   - ./config.json:/app/config.json:ro
    

    注意:我将容器的 3000 端口映射到了主机的 3213 端口,并设置了自己的访问密码 PASSWORD

  4. 启动服务:配置文件写好后,直接在当前目录下执行 docker compose up -d 命令,服务就以后台模式启动了。

    docker compose up -d
    

整个过程不到五分钟。启动成功后,我打开浏览器访问 http://localhost:3213/,输入设定的密码,就进入了 MoonTV 的主界面。在这里,我可以随意搜索想看的电影、动漫和电视剧,播放体验非常流畅,确实很方便。

wechat_2025-08-08_232648_020.png

其他部署选项

除了我使用的本地存储版本,MoonTV 还支持更高级的部署方式。例如,可以使用 Redis 作为存储后端,这样就能实现多账户数据隔离和跨设备同步播放记录与收藏夹。对于有多人使用或需要在不同设备间同步进度的场景,这是一个非常推荐的选择。项目文档中也提供了相应的 docker-compose.yml 示例。

安全与隐私提醒

最后,官方 README 中有一段非常重要的“安全与隐私提醒”,我觉得有必要在这里分享给大家:

  • 务必设置密码保护:为了你的数据安全和避免潜在风险,部署时一定要设置 PASSWORD 环境变量。
  • 避免公开访问和注册:强烈建议关闭公网注册功能,仅供个人或家庭内部使用,以防范不必要的版权风险。
  • 遵守当地法律:请确保使用行为符合当地的法律法规。

这个项目仅供学习和个人使用,请勿用于商业或公开服务。

总结

总的来说,MoonTV 是一个设计得相当出色的开源项目,它精准地解决了影视资源分散的痛点。对我而言,通过 Docker 进行本地部署的体验非常顺畅,几乎是零成本就拥有了一个属于自己的、无广告的影视聚合站。

如果你也对这个项目感兴趣,可以访问它的 GitHub 仓库查看更多信息:1