
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像
zengteng/lunatv基于开源项目 https://github.com/MoonTechLab/LunaTV 重新编译构建,提供开箱即用的 Docker 部署方式。
LunaTV(亦称 MoonTV)是一款跨平台影视聚合播放器,基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录与云端存储,可在浏览器、PWA 及 Android TV 等场景使用。
| 镜像 | 说明 |
|---|---|
zengteng/lunatv | 社区维护版本,基于上游最新源码重新编译 |
ghcr.io/moontechlab/lunatv | 官方 GHCR 镜像,由 MoonTechLab 项目发布 |
官方 GHCR 镜像可通过轩辕镜像加速拉取,镜像详情与拉取命令见:
https://xuanyuan.cloud/ghcr.io/moontechlab/lunatv?tag=latest
***为轩辕镜像 GHCR 专属域名前缀,请在 个人中心 查看并替换。GHCR 镜像映射规则:ghcr.io/moontechlab/lunatv→***-ghcr.xuanyuan.run/moontechlab/lunatv。
拉取官方镜像(轩辕镜像):
bashdocker pull ***-ghcr.xuanyuan.run/moontechlab/lunatv:latest
拉取本镜像(轩辕镜像):
bashdocker pull docker.xuanyuan.run/r/zengteng/lunatv:latest
支持 amd64 与 arm64 架构。下文部署示例以 zengteng/lunatv 为例,使用官方镜像时将镜像地址替换为 ***-ghcr.xuanyuan.run/moontechlab/lunatv:latest 即可。
重要提示:部署完成后为空壳应用,不包含内置播放源和直播源,需在管理后台自行配置资源站。
| 分类 | 主要依赖 |
|---|---|
| 前端框架 | Next.js 14(App Router) |
| UI 与样式 | Tailwind CSS 3 |
| 语言 | TypeScript |
| 播放器 | ArtPlayer、HLS.js |
| 部署 | Docker |
Kvrocks 提供持久化存储,适合收藏与播放记录长期保存。
创建 docker-compose.yml:
yamlservices: lunatv-core: image: docker.xuanyuan.run/r/zengteng/lunatv:latest container_name: lunatv-core restart: on-failure ports: - '3000:3000' environment: - USERNAME=admin - PASSWORD=your_secure_password - NEXT_PUBLIC_STORAGE_TYPE=kvrocks - KVROCKS_URL=redis://lunatv-kvrocks:6666 - NEXT_PUBLIC_SITE_NAME=LunaTV - NEXT_PUBLIC_DOUBAN_PROXY_TYPE=cmliussss-cdn-tencent - NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE=cmliussss-cdn-tencent networks: - lunatv-network depends_on: - lunatv-kvrocks lunatv-kvrocks: image: docker.xuanyuan.run/r/apache/kvrocks container_name: lunatv-kvrocks restart: unless-stopped volumes: - kvrocks-data:/var/lib/kvrocks networks: - lunatv-network networks: lunatv-network: driver: bridge volumes: kvrocks-data:
启动服务:
bashdocker compose up -d
浏览器访问:http://localhost:3000,使用环境变量中配置的 USERNAME / PASSWORD 登录管理后台。
yamlservices: lunatv-core: image: docker.xuanyuan.run/r/zengteng/lunatv:latest container_name: lunatv-core restart: on-failure ports: - '3000:3000' environment: - USERNAME=admin - PASSWORD=your_secure_password - NEXT_PUBLIC_STORAGE_TYPE=redis - REDIS_URL=redis://lunatv-redis:6379 networks: - lunatv-network depends_on: - lunatv-redis lunatv-redis: image: docker.xuanyuan.run/r/library/redis:alpine container_name: lunatv-redis restart: unless-stopped volumes: - ./data:/data networks: - lunatv-network networks: lunatv-network: driver: bridge
使用 Redis 时建议开启持久化卷,否则容器升级或重启可能导致数据丢失。
bashdocker run -d \ --name lunatv \ -p 3000:3000 \ -e USERNAME=admin \ -e PASSWORD=your_secure_password \ -e NEXT_PUBLIC_STORAGE_TYPE=redis \ -e REDIS_URL=redis://your-redis-host:6379 \ docker.xuanyuan.run/r/zengteng/lunatv:latest
若使用 Upstash Redis,只需部署应用容器:
bashdocker run -d \ --name lunatv \ -p 3000:3000 \ -e USERNAME=admin \ -e PASSWORD=your_secure_password \ -e NEXT_PUBLIC_STORAGE_TYPE=upstash \ -e UPSTASH_URL=你的_HTTPS_ENDPOINT \ -e UPSTASH_TOKEN=你的_TOKEN \ docker.xuanyuan.run/r/zengteng/lunatv:latest
部署完成后,登录管理后台,在「配置文件」中填写 JSON 配置。示例:
json{ "cache_time": 7200, "api_site": { "example": { "api": "http://example.com/api.php/provide/vod", "name": "示例资源站", "detail": "http://example.com" } }, "custom_category": [ { "name": "华语", "type": "movie", "query": "华语" } ] }
字段说明:
cache_time:接口缓存时间(秒)api_site:资源站列表,key 为唯一标识(小写字母/数字)
api:苹果 CMS V10 格式的 vod JSON API 根地址name:前端展示名称detail:(可选)无法通过 API 获取详情时的网页根 URLcustom_category:自定义分类,用于导航栏个性化影视分类LunaTV 支持标准 苹果 CMS V10 API 格式资源站。
| 变量 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
USERNAME | 站长账号 | 任意字符串 | 必填 |
PASSWORD | 站长密码 | 任意字符串 | 必填 |
SITE_BASE | 站点 URL | 如 https://example.com | 空 |
NEXT_PUBLIC_SITE_NAME | 站点名称 | 任意字符串 | MoonTV |
ANNOUNCEMENT | 站点公告 | 任意字符串 | 内置默认公告 |
NEXT_PUBLIC_STORAGE_TYPE | 存储类型 | redis、kvrocks、upstash | 必填 |
KVROCKS_URL | Kvrocks 连接地址 | Redis 协议 URL | 空 |
REDIS_URL | Redis 连接地址 | Redis 协议 URL | 空 |
UPSTASH_URL | Upstash HTTPS 端点 | HTTPS URL | 空 |
UPSTASH_TOKEN | Upstash Token | Token 字符串 | 空 |
NEXT_PUBLIC_SEARCH_MAX_PAGE | 搜索最大页数 | 1–50 | 5 |
NEXT_PUBLIC_DOUBAN_PROXY_TYPE | 豆瓣数据代理 | direct、cmliussss-cdn-tencent 等 | direct |
NEXT_PUBLIC_DOUBAN_IMAGE_PROXY_TYPE | 豆瓣图片代理 | direct、img3、cmliussss-cdn-tencent 等 | direct |
NEXT_PUBLIC_DISABLE_YELLOW_FILTER | 关闭色情过滤 | true / false | false |
NEXT_PUBLIC_FLUID_SEARCH | 搜索流式输出 | true / false | true |
国内部署建议将豆瓣相关代理设置为 cmliussss-cdn-tencent,以改善海报与元数据加载速度。
PASSWORD 环境变量保护管理后台docker pull docker.xuanyuan.run/r/zengteng/lunatv:latestdocker pull ***-ghcr.xuanyuan.run/moontechlab/lunatv:latest(*** 为 GHCR 专属域名前缀)以下是 zengteng/lunatv 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务