cloudflare部署MoonTV

GitHub项目:MoonTV

Cloudflare 部署

Cloudflare Pages 的环境变量尽量设置为密钥而非文本

  1. Fork 本仓库到你的 GitHub 账户。
  2. 登陆 Cloudflare,点击 ​计算(Workers)-> Workers 和 Pages​,点击创建
  3. 选择 Pages,导入现有的 Git 存储库,选择 Fork 后的仓库
  4. 构建命令填写 pnpm install --frozen-lockfile && pnpm run pages:build,预设框架为无,构建输出目录为 .vercel/output/static
  5. 保持默认设置完成首次部署。进入设置,将兼容性标志设置为 nodejs_compat
  6. (强烈建议)首次部署完成后进入设置,新增 PASSWORD 密钥(变量和机密下),而后重试部署。
  7. 如需自定义 config.json,请直接修改 Fork 后仓库中该文件。
  8. 每次 Push 到 main 分支将自动触发重新构建。

D1 支持

  1. 点击 ​存储和数据库 -> D1 SQL 数据库​,创建一个新的数据库,名称随意
  2. 进入刚创建的数据库,点击左上角的 Explore Data,将 D1 初始化 中的内容粘贴到 Query 窗口后点击 Run All,等待运行完成
  3. 返回你的 pages 项目,进入 ​设置 -> 绑定​,添加绑定 D1 数据库,选择你刚创建的数据库,变量名称填 DB
  4. 设置环境变量 NEXT_PUBLIC_STORAGE_TYPE,值为 d1;设置 USERNAME 和 PASSWORD 作为站长账号
  5. 重试部署

环境变量

变量 说明 可选值 默认值
USERNAME Redis 部署时的管理员账号 任意字符串 (空)
PASSWORD 默认部署时为唯一访问密码,Redis 部署时为管理员密码 任意字符串 (空)
SITE_NAME 站点名称 任意字符串 MoonTV
ANNOUNCEMENT 站点公告 任意字符串 本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。
NEXT_PUBLIC_STORAGE_TYPE 播放记录/收藏的存储方式 localstorage(本地浏览器存储)、Redis(仅 docker 支持) localstorage
REDIS_URL Redis 连接 url,若 NEXT_PUBLIC_STORAGE_TYPE 为 Redis 则必填 连接 url
NEXT_PUBLIC_ENABLE_REGISTER 是否开放注册,仅在 Redis 部署时生效 true / false false
NEXT_PUBLIC_SEARCH_MAX_PAGE 搜索接口可拉取的最大页数 1-50 5
NEXT_PUBLIC_IMAGE_PROXY 默认的浏览器端图片代理 url prefix (空)

视频教程