
影视聚合播放站,Moontv本地部署,再也不用找资源了
最近,我发现了一个名为 MoonTV 的开源项目,它作为一个跨平台的影视聚合播放器,很好地解决了这个问题。本篇文章就来记录一下我使用 Docker 在本地部署 MoonTV 的经历。
MoonTV 是什么?
根据官方介绍,MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 构建,聚合了多个免费资源站点,支持多源搜索、在线播放、收藏和播放记录同步等功能。最吸引我的是,它可以非常方便地进行本地化部署,完全由自己掌控,用于个人观看。
项目的主要特性包括:
- 多源聚合搜索:内置多个免费资源站,一次搜索即可获得全面的结果。
- 流畅在线播放:集成了流畅的网页播放器。
- 收藏与继续观看:支持将播放记录和收藏保存在本地或云端(如 Redis),方便多设备同步。
- 响应式布局:无论是桌面电脑还是移动设备,都有不错的浏览体验。
- 部署简单:官方支持 Docker, Vercel 等多种部署方式,对我来说,Docker 是最简单直接的选择。
- PWA 支持:可以像原生 App 一样安装到桌面或手机主屏幕。
我的本地部署过程
我的需求非常简单:在自己的电脑上部署一个实例,供个人使用。官方推荐的 local storage
版本完全满足我的需求,部署过程确实和我预想的一样简单。
以下是我的操作步骤:
-
创建项目文件夹:首先,我在
D:\docker_projects
文件夹中创建了一个名为MoonTV
的新文件夹,用于存放配置文件。 -
进入目录并创建 docker-compose.yml 文件:我通过
cmd
命令行工具进入该目录:cd D:\docker_projects\MoonTV ``` 然后,在 `MoonTV` 文件夹内创建了一个 `docker-compose.yml` 文件。
-
编写 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
。 -
启动服务:配置文件写好后,直接在当前目录下执行
docker compose up -d
命令,服务就以后台模式启动了。docker compose up -d
整个过程不到五分钟。启动成功后,我打开浏览器访问 http://localhost:3213/
,输入设定的密码,就进入了 MoonTV 的主界面。在这里,我可以随意搜索想看的电影、动漫和电视剧,播放体验非常流畅,确实很方便。
其他部署选项
除了我使用的本地存储版本,MoonTV 还支持更高级的部署方式。例如,可以使用 Redis 作为存储后端,这样就能实现多账户数据隔离和跨设备同步播放记录与收藏夹。对于有多人使用或需要在不同设备间同步进度的场景,这是一个非常推荐的选择。项目文档中也提供了相应的 docker-compose.yml
示例。
安全与隐私提醒
最后,官方 README 中有一段非常重要的“安全与隐私提醒”,我觉得有必要在这里分享给大家:
- 务必设置密码保护:为了你的数据安全和避免潜在风险,部署时一定要设置
PASSWORD
环境变量。 - 避免公开访问和注册:强烈建议关闭公网注册功能,仅供个人或家庭内部使用,以防范不必要的版权风险。
- 遵守当地法律:请确保使用行为符合当地的法律法规。
这个项目仅供学习和个人使用,请勿用于商业或公开服务。
总结
总的来说,MoonTV 是一个设计得相当出色的开源项目,它精准地解决了影视资源分散的痛点。对我而言,通过 Docker 进行本地部署的体验非常顺畅,几乎是零成本就拥有了一个属于自己的、无广告的影视聚合站。
如果你也对这个项目感兴趣,可以访问它的 GitHub 仓库查看更多信息:1