尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
自建影视聚合播放器:LunaTV Docker 部署与播放源配置完整实战指南
自建影视聚合播放器LunaTV Docker 部署与播放源配置完整实战指南【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议禁止任何商业化行为任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTVLunaTV 是一个基于 Next.js 14 构建的开源影视聚合播放器支持多资源站聚合搜索、在线播放、收藏与播放记录跨端同步。本文带你在一台装有 Docker 的服务器上完成部署并讲清楚启动之后最关键的播放源配置10 分钟内你就能拥有一个可以正常看片、能记住进度的个人影视站。部署后你得到什么LunaTV 的七项主要能力先花一分钟了解装好之后的使用体验这样后面配置时就知道每个环节的意义。LunaTV 首页会展示继续观看和热门内容推荐配合分类导航快速定位片源搜索结果来自你配置的全部资源站一次输入即可跨站聚合。详情页提供剧集列表、演员、年份、简介等完整信息播放端由 ArtPlayer 与 HLS.js 驱动支持流媒体在浏览器里直接播放。收藏、播放记录存在服务端存储里换设备登录也能接着上次的位置看。其余能力包括PWA 离线缓存与安装到桌面/主屏桌面侧边栏加移动底部导航的响应式布局实验性的切片广告自动跳过以及一个常被忽略的直播模块可以配置直播源和 EPG 节目单。v100.0.0 以上的版本还能配合移动端客户端 Selene 使用数据完全同步在 Android TV 上也可以把它当作 OrionTV 的后端播放记录同样与网页端互通。部署前准备只需要 Docker 和一个空闲端口LunaTV 官方仅支持 Docker 及基于 Docker 的平台部署没有裸机 Node.js 的玩法这省去了装依赖、编译源码的环节。机器上需要安装 Docker 和 Docker Compose并且能访问镜像仓库拉取镜像。资源方面1GB 左右的内存和 10GB 磁盘就足够个人使用了。唯一必须让出来的是本机3000 端口——服务默认监听容器内的 3000 端口compose 文件会把它映射到宿主机。如果你的 3000 已被占用改一下映射的左边部分比如8080:3000之后用 8080 访问即可容器内端口不用动。三步完成部署写一份 compose 文件就够整个部署就是写文件 → 启动 → 打开浏览器三步。下面这份docker-compose.yml采用官方推荐的 Kvrocks 存储方案两个服务、一个网络、一个数据卷照抄后按需改两处密码即可services: moontv-core: image: ghcr.io/moontechlab/lunatv:latest container_name: moontv-core restart: on-failure ports: - 3000:3000 environment: - USERNAMEadmin - PASSWORD请改成一个强密码 - NEXT_PUBLIC_STORAGE_TYPEkvrocks - KVROCKS_URLredis://moontv-kvrocks:6666 networks: [moontv-network] depends_on: [moontv-kvrocks] moontv-kvrocks: image: apache/kvrocks container_name: moontv-kvrocks restart: unless-stopped volumes: [kvrocks-data:/var/lib/kvrocks] networks: [moontv-network] networks: moontv-network: driver: bridge volumes: kvrocks-data:几个字段的填写逻辑moontv-core是应用本体USERNAME/PASSWORD是登录管理后台用的站长账号必填密码务必换成强密码且不要公开分享实例地址NEXT_PUBLIC_STORAGE_TYPE指定收藏与播放记录存放的存储后端本例选了kvrocksKVROCKS_URL指向同网络里的 Kvrocks 容器主机名直接用服务名moontv-kvrocks端口 6666 是 Kvrocks 的默认端口。Kvrocks 是 Redis 协议的兼容存储apache/kvrocks是官方镜像把数据目录/var/lib/kvrocks挂到命名卷kvrocks-data后容器删了数据也不会丢。在文件所在目录执行docker-compose up -d等待镜像拉取和容器启动浏览器打开http://localhost:3000远程机器则换成对应 IP就能看到登录页。管理后台配置播放源为什么装完的站点没有片源这一点必须提前说明部署完成后 LunaTV 是一个空壳没有内置播放源和直播源需要站长自己收集并填进后台这也是全文最容易卡住的一步。登录后台后进入配置文件设置对应源码见 src/app/admin/page.tsxLunaTV 接受标准苹果 CMS V10 格式的接口把配置以 JSON 形式粘贴保存即可。这份配置由三部分组成cache_time控制接口缓存秒数填大一点可以减轻资源站压力api_site是资源站列表每站需要一个唯一标识 key、该站api.php/provide/vod的 JSON 接口地址、界面展示用的 name个别站点 API 拿不到剧集详情时还要补detail指向其网页详情根地址custom_category用于在导航栏加自定义分类用typemovie 或 tv加query搜索关键词作为标识支持华语美剧豆瓣高分这类词也可以直接写哈利波特实现类似豆瓣搜索的效果。如果你的配置想复用到其他实例或客户端还有一个订阅机制把完整配置文件做 base58 编码后提供一个 HTTP 地址就成为一个订阅链接可在后台或 Helios 客户端中直接拉取。存储后端怎么选Kvrocks、Redis 还是 Upstash收藏和播放记录存在哪里由NEXT_PUBLIC_STORAGE_TYPE决定三种选项各有取舍。Kvrocks 是默认推荐项性能好、配合命名卷可以可靠持久化上文 compose 文件就是按它写的。Redis 兼容性好但官方明确提示有丢数据风险——如果用redis方案必须像 README 示例那样开启持久化并挂载/data卷否则升级或重启后记录会清空。Upstash 则是托管在云端的 Redis适合无服务器或不想自己维护数据库的场景需要额外注册账号把UPSTASH_URL和UPSTASH_TOKEN两个环境变量填进 core 服务即可compose 里也就只剩一个容器。无论选哪种都建议养成备份习惯Kvrocks 方案备份kvrocks-data卷里的内容即可Redis 方案备份持久化目录。这是全系统里唯一会产生用户数据的地方。可选调优豆瓣代理与站点展示基础跑通后几个环境变量值得按需调整它们都写在 core 服务的environment里。豆瓣海报和详情数据默认由服务器直连豆瓣direct如果你的网络到豆瓣不稳推荐改为社区 CDN 方案NEXT_PUBLIC_DOUBAN_PROXY_TYPEcmliussss-cdn-tencent与NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPEcmliussss-cdn-tencent让浏览器直接向带 CDN 加速的镜像请求数据国内访问速度明显更稳。站点展示方面NEXT_PUBLIC_SITE_NAME改站名ANNOUNCEMENT改首页公告默认是一段合规免责声明建议保留SITE_BASE填你的访问 URL。行为类选项还有NEXT_PUBLIC_SEARCH_MAX_PAGE搜索可翻页数默认 5和NEXT_PUBLIC_FLUID_SEARCH搜索流式输出默认开启。改完环境变量后重新docker-compose up -d让容器重建生效。五项验证清单与日常更新方式部署是否真正可用按顺序检查五件事能用http://localhost:3000打开登录页用 compose 里的账号密码成功登录管理后台保存配置后首页能加载出分类与推荐内容搜索任意一部电影能返回聚合结果并点开详情页最终能流畅播放且刷新后继续观看位置保留。五步全过这套影视聚合播放器就算正式上线了。日常维护只需要一条命令docker-compose pull docker-compose up -d拉取新版镜像并重建容器存储卷里的数据不受影响。最后再叮嘱两句安全上的事实例只供个人使用不要公开传播访问链接避免他人滥用账号密码保持强随机若日后要长期运行也可以固定一个版本标签代替latest防止自动拉到不稳定的新版本。照这套流程走下来从空服务器到能看片只需要一份 compose 文件和一段播放源配置剩下的交给它自己同步记录就好。【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议禁止任何商业化行为任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

OpenEvolve 配置完全指南:默认配置模板、岛屿模型调优与早期停止实战

OpenEvolve 配置完全指南:默认配置模板、岛屿模型调优与早期停止实战

人工智能大模型AI Agent代码智能体自主智能体 【免费下载链接】openevolve Open-source implementation of AlphaEvolve 项目地址: https://gitcode.com/gh_mirrors/op/openevolve 点击查看 免费下载 OpenEvolve 是一个开源的 AlphaEvolve 实现,它把 LL…

📅 2026/10/6 22:21:46
光模块PCB高频工艺链:从基材选型到阻抗控制全解析

光模块PCB高频工艺链:从基材选型到阻抗控制全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/6 22:16:46
基于RTL8367RB的五口千兆无管理交换机硬件设计实战

基于RTL8367RB的五口千兆无管理交换机硬件设计实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/6 22:16:46
MORE NEWS

更多资讯

📰

hyperframes 实战:HTML 转 MP4 的 CLI 工具链与 AI 代理集成

1. hyperframes 到底是什么:从标题到核心定位的拆解第一次看到 “hyperframes” 这个词,我下意识把它拆成了 “hyper” 和 “frames” 两段来理解。Frames 在技术语境里通常指向帧、画面、结构单元,而 hyper 带有超、增强、聚合的意味。把这两…

📰

Kettle 9.4企业级ETL部署实战:JDK11适配与UCanAccess驱动集成

简介:本资源为Pentaho Data Integration 9.4(即原Kettle 9.4)官方社区版完整安装包,面向ETL开发工程师、数据集成初学者及BI项目实施人员,用于构建数据抽取、转换与加载流程,解决异构数据源整合、定时作业调…

📰

CVBS信号原理与实战:从模拟视频基础到匹配滤波调试

1. 为什么今天还要讲CVBS?——一个被低估的“老古董”信号接口你可能在拆旧电视、修监控设备、调试老式医疗影像终端,或者只是在二手市场淘到一台带黄色RCA接口的DVD机时,第一次看到那个标着“VIDEO”的黄圈插孔。它不闪亮、不高速、没有HDMI…

📰

集成稳压器:从分立电源到高可靠电源设计的工程跃迁

1. 项目概述:为什么“集成稳压器”不是一句空话,而是电路设计分水岭“集成稳压器消除了对分立元件的需求”——这句话乍看像教科书里的结论句,但在我拆过上千块电源板、调过上万次纹波噪声、被分立稳压电路反复“背刺”之后,才真正…

📰

Notepad++ 8.3.3 升级指南:Python Script 插件配置与避坑实战

简介:这是一份面向程序员、运维人员及日常文字工作者的 Notepad 8.3.3 增强整合包,在官方编辑器基础上预装并调校了多款实用插件,解决原生版本功能单一、需自行逐个配置插件的问题。包内集成 Compare 文件对比、DspellCheck 拼写校验、Explor…

📰

Allegro阵列过孔设计:电流密度建模与热力图优化实战

1. 为什么阵列过孔不是“画几个孔”那么简单——从PCB电流承载与热管理本质说起在Allegro里点开Place → Via Arrays → Matrix,填个行数列数、设个间距,看起来就是个“批量打孔”的快捷操作。但如果你真这么理解,那大概率已经在电源地平面分…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬