MoonTV影视站
一、前言
MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录、本地/云端存储,让你可以随时随地畅享海量免费影视内容。
功能特性
🔍 多源聚合搜索:内置数十个免费资源站点,一次搜索立刻返回全源结果。
📄 丰富详情页:支持剧集列表、演员、年份、简介等完整信息展示。
▶️ 流畅在线播放:集成 HLS.js & ArtPlayer。
❤️ 收藏 + 继续观看:支持 Redis/D1/Upstash 存储,多端同步进度。
📱 PWA:离线缓存、安装到桌面/主屏,移动端原生体验。
🌗 响应式布局:桌面侧边栏 + 移动底部导航,自适应各种屏幕尺寸。
🚀 极简部署:一条 Docker 命令即可将完整服务跑起来,或免费部署到 Vercel 和 Cloudflare。
👿 智能去广告:自动跳过视频中的切片广告(实验性)



二、部署
2.1部署更新(compose.yml)
services:
lunatv:
image: ghcr.io/moontechlab/lunatv:latest #使用镜像的话自行修改
container_name: lunatv
depends_on:
kvrocks-init:
condition: service_completed_successfully
ports:
- 8300:3000 #映射端口,自行修改
environment:
- USERNAME=admin
- PASSWORD=adminadmin #管理员密码,自行修改
- NEXT_PUBLIC_STORAGE_TYPE=kvrocks
- KVROCKS_URL=redis://kvrocks:6666
restart: unless-stopped
kvrocks:
image: docker.io/apache/kvrocks:latest #使用镜像的话自行修改
container_name: kvrocks
volumes:
- /share/CACHEDEV1_DATA/Container/lunatv/kvrocks_data:/kvrocks_data #映射路径自行修改,这里写了个威联通用的
user: '0'
command:
- '--dir'
- /kvrocks_data
healthcheck:
test: ["CMD", "redis-cli", "-p", "6666", "ping"]
interval: 5s
timeout: 3s
retries: 5
start_period: 10s
restart: unless-stopped
kvrocks-init:
image: docker.io/python:3-alpine #使用镜像的话自行修改
container_name: kvrocks-init
environment:
- SOURCE=jin18 #jin18 = 精简版(没成人内容,默认),jingjian = 精简版+成人,full = 完整版
depends_on:
kvrocks:
condition: service_healthy
command:
- sh
- -c
- |
pip install redis base58 requests
python3 <<'EOF'
import json
import os
import base58
import requests
import redis
from datetime import datetime, timezone
target_key='admin:configinited'
r = redis.Redis(host='kvrocks', port=6666, decode_responses=True)
if r.exists(target_key): exit(0)
print('init!')
target_url = f'https://pz.v88.qzz.io/?format=2&source={os.getenv("SOURCE", "jin18")}'
response = requests.get(target_url, timeout=10)
response.raise_for_status()
api_data = json.loads(base58.b58decode(response.text.strip()).decode('utf-8'))
ori_data = {'SiteConfig':{'SiteName':'MoonTV','Announcement':'本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。','SearchDownstreamMaxPage':5,'SiteInterfaceCacheTime':7200,'DoubanProxyType':'cmliussss-cdn-tencent','DoubanProxy':'','DoubanImageProxyType':'cmliussss-cdn-tencent','DoubanImageProxy':'','DisableYellowFilter':False,'FluidSearch':True,'EnableWebLive':False},'UserConfig':{'Users':[{'username':'admin','role':'owner','banned':False}]},'CustomCategories':[],'LiveConfig':[]}
ori_data['ConfigFile'] = json.dumps(api_data,ensure_ascii=False)
ori_data['ConfigSubscribtion'] = {'URL':target_url,'AutoUpdate':True,'LastCheck':datetime.now(timezone.utc).isoformat(timespec='milliseconds').replace('+00:00', 'Z')}
ori_data['SourceConfig'] = [{'key':k,'name':site['name'],'api':site['api'],'detail':site['detail'],'from':'config','disabled':False} for k, site in api_data['api_site'].items()]
r.set('admin:config', json.dumps(ori_data,ensure_ascii=False))
r.set(target_key,'true')
EOF
打开dpanel管理平台





浏览器访问:ip:8300

注:
1.这一版默认添加直播源无需单独配置
2.视频播放不了时点击管理员设置》视频源配置》有效性测试(有效的才可以正常播放)

3.该项目由萌新大大提供,感谢萌新大大
2.2 使用电视播放MoonTV(这里使用模拟器进行演示)
下载app安装包:Tags · zimplexing/OrionTV · GitHub



注:
Debian-DIY-萌新(真)
这个项目还有几个配套的:
1:安卓端:https://github.com/MoonTechLab/Selene
2:安卓TV端:
https://github.com/orion-lib/OrionTV
这个虽然是官方版,但是有BUG,我自己用的是另一个人的分支版:
https://github.com/yaniswang/OrionTV如有遗漏还请评论区补充
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 QNAPClubCN
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果