在2025年6月份的时候博主写过一篇《利用Vercel云服务平台无存储免维护零成本搭建一个MoonTV聚合视频站》,2025年8月26日,MoonTV的作者发出公告,从即日起无限期停更:
☞项目代码全部开源,无限期停更;
☞不再支持从Vercel、CloudFlare等平台部署,仅支持 docker 或基于 docker 的平台部署;
☞由于配置文件不从文件读取,不再支持本地(localstorage)存储方式,仅支持 redis 或 upstash;
☞部署后项目为空壳项目,无内置播放源和直播源,需要在管理后台填写影视源的配置文件或订阅链接,方可正常观影。
既然只能在docker平台上部署,那么有NAS的基本上都可以轻松部署起来(文末有docker部署的脚本),并且通过公网IP映射还可以实现远程访问。如果不想占用NAS资源的,可以利用之前博主撸的Claw Cloud免费云服务平台(如果你还没有Claw Cloud免费云服务平台账号的,去看《免费撸Claw Cloud的VPS教程》去注册)来部署。
【前提条件】
※一个Claw Cloud账号(还没有账号的,去看《免费撸Claw Cloud的VPS教程》注册);
※一个upstash账号(还没有账号的等下看完教程后去注册,很简单);
※一个你自己的域名,托管在CloudFlare的域名最佳(没有域名也可以,就是系统提供给你的域名很长,有点难记)。
【搭建教程】
1、打开免费 Redis 的服务器【upstash官网】,点“Lonin”;
2、有谷歌账号、Github账号的可以直接登录,如果没有账号就自行注册一个账号再登录(由于每个账号只能有一个免费的Redis,如果你的账号已经开通过免费的Redis,那么请更换邮箱再注册一个);
3、在Redis菜单下点“Create database”;
4、Name处写“Moontv”,Primary Region选择一个距离你的Claw Cloud账号最近的地区,比如之前开通的Claw Cloud账号是日本或者新加坡的,可以选择日本或者新加坡;
5、比如我的Claw Cloud账号是日本,这里我也选择日本,再点“Next”;
6、选“Free”,再点“Next”;
7、点“Create”;
8、主界面如下,把鼠标移动到下图的“Endpoint”处,会出现“HTTPS”按钮,点一下会自动复制此处的内容,到记事本粘贴;
9、把鼠标移动到下图的“TOKEN”处,会出现“TOKEN”按钮,点一下会自动复制此处的内容,到记事本粘贴;
10、打开【Claw Cloud官方网站】,登录你的账号,然后点“App Launchpad”;
11、点“Create App”;
12、在“Applications Name”处写“moontv”,在“Image Name”处把默认的“nginx”删除后改成“ghcr.io/moontechlab/lunatv:latest”,CPU改成0.1,内存最小可用128M(如果发现有容器运行不正常的话,把内存改到512M运行很流畅);
13、在“Network”处,把“Container Port”处默认的“80”改成“3000”,再点一下“Public Access”,后面显示的就是系统自动给本项目分配的免费域名;
14、在“Environment Variables”处,点“+Add”;
15、把以下内容复制并根据实际情况修改后,放到在“Environment Variables”处,点“Add”;
USERNAME=管理员账号
PASSWORD=管理员密码
NEXT_PUBLIC_STORAGE_TYPE=upstash
UPSTASH_URL=第8个步骤获取的HTTPS链接
UPSTASH_TOKEN=第9个步骤获取的TOKEN
16、添加“Environment Variables”后显示如下:
17、点右上角的“Deploy Application”;
19、点“Yes”;
20、项目在部署中,点“View Dashboard”查看;
21、耐心等待,当看到“STATUS”显示为绿色的“Active”时候表示容器部署成功,需要再等待域名生效,此时“Public Access”的状态为“Pending”;
22、耐心等待,当看到“Public Access”的状态变为绿色的“Available”时候表示域名也生效了,点击该域名,会在浏览器上自动打开;
23、当出现下图这个界面需要输入用户名和密码的时候,就表示项目已经成功运行(如果没出现该界面或者只显示输入密码没显示输入账号的界面都是还没完全好,需要再等等),输入在第15个步骤设置的账号和密码登录;
24、点“我知道了”;
25、此时系统中的影视源是空的,任何视频都无法观看,需要点一下右上角的人像,在菜单中点“管理面板”;
26、点“配置文件”;
27、根据自己的需要,选下面任意一条的影视源链接,复制粘贴到“订阅URL”处,开启“自动更新”,点“拉取配置”;
㊙MoonTV作者提供的普通影视源(不含18禁的内容,可放心食用)㊙
㊙第三方提供的老司机影视源(警告:本链接含上面的普通影视源和18禁的影视源,小心社死!)㊙,此链接不是Base58编码,不能直接复制链接去订阅,需要打开此链接,复制全部内容再到MoonTV粘贴
28、显示为“拉取成功”;
29、需要点一下右下角的“保存”,影视源才会真正的保存下来;
30、随便点开一个视频,可以正常观看;
31、右上角功能区可以切换源;
32、播放器的功能菜单可以根据自己需要进行设置;
33、回到Claw Cloud,点“Manage Network”; 34、Custom Domain; 35、把“CNAME”处显示的域名复制; 36、到CloudFlare后台你的域名DNS解析处,添加记录,类型用“CNAME”,“名称”根据自己情况填写,在“目标”处粘贴上一步骤的域名,代理状态不要开启,保存; 37、回到Claw Cloud,把上一步骤在CloudFlare设置的域名填写进来,点“Confirm”(如果报错,应该是域名还没生效,等一下就好); 38、点“Update”; 39、点“Yes”; 40、到CloudFlare后台你的域名DNS解析处,把刚才设置的域名,代理状态开启,保存,这样可以加速Claw Cloud的域名检测; 41、当看到“Public Access”的状态变为绿色的“Available”时候表示该域名的绑定已经生效了,点击该域名,会在浏览器上自动打开(如果你的域名还打不开的,有可能是SSL证书还没生效,Claw Cloud的证书生效比较慢,需要再等等,有时慢的话半小时);
services:
moontv-core:
image: ghcr.io/moontechlab/lunatv:latest
container_name: moontv-core
restart: on-failure
ports:
- '3000:3000'
environment:
- USERNAME=管理员账号
- PASSWORD=管理员密码
- NEXT_PUBLIC_STORAGE_TYPE=kvrocks
- KVROCKS_URL=redis://moontv-kvrocks:6666
networks:
- moontv-network
depends_on:
- moontv-kvrocks
moontv-kvrocks:
image: apache/kvrocks
container_name: moontv-kvrocks
restart: unless-stopped
volumes:
- /volume1/docker/MoonTV/kvrocks:/var/lib/kvrocks
networks:
- moontv-network
networks:
moontv-network:
driver: bridge
services:
moontv-core:
image: ghcr.io/moontechlab/lunatv:latest
container_name: moontv-core
restart: unless-stopped
ports:
- '3000:3000'
environment:
- USERNAME=管理员账号
- PASSWORD=管理员密码
- NEXT_PUBLIC_STORAGE_TYPE=redis
- REDIS_URL=redis://moontv-redis:6379
networks:
- moontv-network
depends_on:
- moontv-redis
moontv-redis:
image: redis:alpine
container_name: moontv-redis
restart: unless-stopped
networks:
- moontv-network
volumes:
- /volume1/docker/MoonTV:/data
networks:
moontv-network:
driver: bridge
services:
moontv-core:
image: ghcr.io/moontechlab/lunatv:latest
container_name: moontv-core
restart: unless-stopped
ports:
- '3000:3000'
environment:
- USERNAME=管理员账号
- PASSWORD=管理员密码
- NEXT_PUBLIC_STORAGE_TYPE=upstash
- UPSTASH_URL=第8个步骤获取的HTTPS链接
- UPSTASH_TOKEN=第9个步骤获取的TOKEN
MoonTV新项目GitHub仓库地址:https://github.com/MoonTechLab/LunaTV
文章评论
感谢大佬分享