LunaTV 是一个开源、跨平台的影视聚合播放器
📦 LunaTV (MoonTV) 详细部署教程
LunaTV 是一个开源、跨平台的影视聚合播放器,基于 Next.js 14 构建,支持多资源搜索、在线播放、收藏同步和播放记录功能。它本身是一个“空壳”项目,不内置任何播放源或直播源,需要由使用者自行配置。
重要声明:本项目仅供个人学习使用,严禁商业用途。请勿公开分享或传播你的实例,并遵守当地法律法规。项目开发者不对用户的使用行为承担法律责任。
⚙️ 部署前准备
- 一台服务器或本地电脑(建议配置 1GB 内存以上),并已安装 Docker 和 Docker Compose。
- 一个域名(可选,但推荐用于配置 HTTPS 访问)。
- 管理员账号信息:准备一个安全的
USERNAME和PASSWORD,用于登录管理后台。
☁️ 方案一:Zeabur 一键部署(最推荐新手)
Zeabur 是一个云平台,可以一键部署完整环境(包含数据库),自动配置 HTTPS 和 CDN,并有免费额度。
- 点击一键部署:访问 LunaTV 在 Zeabur 的模板页面,点击部署按钮。系统会自动配置 LunaTV + Kvrocks 数据库。
- 设置管理员账号:在部署过程中,根据提示设置环境变量
USERNAME(管理员账号)和PASSWORD(管理员密码),务必使用强密码。 - 设置访问域名(必须):部署完成后,进入 Zeabur 控制台的 LunaTV 服务页面,点击 “Networking” 或 “网络” 标签,生成一个 Zeabur 提供的免费域名(如
xxx.zeabur.app),或绑定你自己的自定义域名。 - 访问与登录:通过设置好的域名访问 LunaTV,并使用你设置的管理员账号密码登录后台(地址通常是
https://你的域名/admin)。
🐳 方案二:Docker Compose 部署(通用方案)
此方案适用于任何安装了 Docker 的环境,例如你自己的服务器、NAS(如飞牛NAS)等。
1. 准备 docker-compose.yml 文件
创建一个目录(如 lunatv),并在其中新建一个名为 docker-compose.yml 的文件,内容如下。请务必修改 USERNAME 和 PASSWORD 环境变量的值。
方案 A:使用 Kvrocks 存储(推荐,数据更稳定)
1 | services: |
方案 B:使用 Redis 存储(新手入门首选,更轻量)
1 | services: |
2. 启动容器
在 docker-compose.yml 文件所在目录下,打开终端执行:
1 | docker-compose up -d |
3. 访问
启动成功后,通过 http://你的服务器IP:3000(或你修改的端口)即可访问 LunaTV。
🔧 通用配置:添加播放源(所有方案必需)
LunaTV 部署完成后是一个空壳,必须自己添加播放源才能搜索和观看内容。
- 登录后台:访问
https://你的域名/admin或http://你的IP:3000/admin,输入你设置的管理员账号和密码。 - 进入源管理:在后台找到 “源管理” 或 “配置文件设置” 页面。
- 添加配置文件:你需要提供符合苹果CMS V10 API 格式的 JSON 配置文件。这里给出一个示例格式,你需要用有效的资源站 API 地址替换其中的示例地址:
1 | { |
提示:完整的配置说明和更多示例,请参阅 LunaTV 官方文档。
❓ 常见问题与避坑指南
- 项目无法访问:检查服务器防火墙或安全组是否放行了
3000端口(或你自定义的端口)。 - 数据丢失:务必在
docker-compose.yml中配置数据持久化卷(volumes),否则容器升级或重启后,收藏、播放记录会丢失。 - 镜像选择:优先使用官方镜像
ghcr.io/moontechlab/lunatv:latest,避免使用非官方镜像导致启动失败或源失效。 - 端口冲突:如果
3000端口已被占用,将ports配置项的左侧端口(如'3000:3000')改为其他值,例如'13000:3000'。 - Zeabur 更新镜像:Zeabur 不会自动更新镜像,需要进入服务页面,点击 “重启当前版本” 来拉取最新的
latest镜像。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论











