MoonTV - 搭建自己的流媒体服务器

MoonTV - 搭建自己的流媒体服务器

🎬 MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录、本地/云端存储,让你可以随时随地畅享海量免费影视内容。

注意:部署时一定要设置用户名和密码,且不要对外分享,否则有封禁 CF 账号的风险;如果是 vps docker 部署,也有可能 IP 被墙

[

步骤一:前置工作

  1. 一个 cloudflare 账号,点此注册
  2. 一个 github 账号,点此注册
  3. 一个域名并托管到 cloudflare,点此查看托管教程

免费域名资源大全

步骤二:克隆仓库

原仓库地址:https://github.com/senshinya/MoonTV

本人仓库:https://github.com/yutian81/MoonTV

不同点:

  • 加入了更多的播放源
  • 加入了福利源
  • 加入了更细化的分类

克隆以上任意一个仓库

步骤三:部署

1. 登录 CF 账号,依次点击 计算(workers)worker and pages创建

[

2. 选择 pages导入现有存储库

[

3. 导入你刚刚克隆的仓库,填写以下参数

  • 框架预设:无
  • 构建命令:pnpm install --frozen-lockfile && pnpm run pages:build
  • 构建输出目录:.vercel/output/static
  • 点击保存并部署

[

4. 创建 D1 数据库

在 CF 中依次点击按钮:左侧 存储和数据库  → D1 SQL数据库  → 创建 ,名称随意,例如:moon

[

创建好后,进入所创建的数据库,点击右上角 Explore Data

在页面上方输入 此处代码 后,点击 run all

[

5. 设置兼容性标志和环境变量

回到部署的 pages 项目,点击 设置 ,找到运行时 → 兼容性标志  → 将其设置为 nodejs_compat

[

再点击左侧 变量与机密 ,设置以下环境变量:

  • NEXT_PUBLIC_ENABLE_REGISTER:是否允许注册,默认 false
  • NEXT_PUBLIC_STORAGE_TYPE:数据库类型,填 d1,注意是小写 d
  • USERNAME:管理员用户名
  • PASSWORD:管理员密码

切换到 绑定  选项卡,点击 添加 ,选择 D1数据库

  • 变量名:填 DB
  • 值:选择上面步骤创建的数据库

[

回到部署页面,在最新的部署后面点击三个点,选择 重试部署 。切记:必须重试部署

[

6. 绑定域名

在部署页面点击上方的自定义域,填入你托管在 CF 上的域名,并给他一个子域名前缀,然后点击确定

[

等域名生效后,即可在浏览器访问 https://你绑定的域名  来访问你部署的项目,输入你设置的用户名和密码登录即可

步骤四:在电视上使用部署的项目

下载 TV 版 APP:OrionTV,安装到电视上

在设置中,后端地址填写:https://你绑定的域名

OK,现在在电视上也可以播放了

#建站 #影视 #cloudflare