banner
约 1,200 字
4 分钟

KatelyaTV

摘要

KatelyaTV是一款基于Next.js 14开发的跨平台影视聚合播放器,源自MoonTV。具备多源聚合、播放记录同步、收藏、跳过片头片尾及TVBox兼容等功能。支持Docker、Cloudflare Pages及Vercel等多种部署方案,含成人内容过滤,适合个人及家庭使用。

项目概述

blog image
blog image

KatelyaTV 是一款基于 Next.js 14、TypeScript 和 Tailwind Tailwind CSS 开发的跨平台台影视聚合搜索影视播放器,具备即开即用、自托管等特点。该项目从「MoonTV」演进而来,为其二创/继承版本,持续维护与改进功能与体验。

核心特点

  • 多源聚合:整合多个视频资源源,提供丰富的影视内容

  • 跨平台支持:兼容多种设备和平台

  • 播放记录同步:记录观看进度,支持断点续播

  • 收藏功能:可收藏喜爱的影视内容

  • 跳过片头片尾:智能识别并跳过片头片尾

  • PWA 支持:可作为渐进式Web应用安装使用

  • TVBox 兼容:支持与TVBox等电视盒子应用配合使用

安装指南

部署方案选择

根据不同使用场景,可选择以下部署方案:

使用场景

推荐方案

存储类型

成人内容过滤

多用户

部署难度

个人使用

Docker 单容器

localstorage

家庭使用

Docker + Redis

redis

⭐⭐

免费部署

Vercel + Upstash

upstash

⭐⭐⭐

生产环境

Docker + Kvrocks

kvrocks

⭐⭐

全球加速

Cloudflare Pages

d1

⭐⭐⭐⭐

注意:成人内容过滤功能需要数据库存储支持,不支持 localstorage 方式

1. Docker 单容器部署(个人使用推荐)

纯文本
docker pull ghcr.io/katelya77/katelyatv:latest
docker run -d --name katelyatv -p 3000:3000 --env PASSWORD=your_password ghcr.io/katelya77/katelyatv:latest

2. Docker + Redis 部署(家庭使用推荐)

纯文本
# 1. 下载配置文件
curl -O https://raw.githubusercontent.com/katelya77/KatelyaTV/main/docker-compose.redis.yml
curl -O https://raw.githubusercontent.com/katelya77/KatelyaTV/main/.env.redis.example

# 2. 配置环境变量
cp .env.redis.example .env

# 编辑 .env 文件设置必要参数
# 管理员账号(必填)
USERNAME=admin
PASSWORD=your_secure_password

# 存储配置
NEXT_PUBLIC_STORAGE_TYPE=redis
REDIS_URL=redis://katelyatv-redis:6379

# 功能开关
NEXT_PUBLIC_ENABLE_REGISTER=true

# 3. 启动服务
docker compose -f docker-compose.redis.yml up -d

3. Cloudflare Pages + D1 部署(全球加速)

  1. Fork 项目到自己的 GitHub 账号

  2. 创建 Pages 项目

    • 登录 Cloudflare Dashboard

    • 进入 Pages → Connect to Git → 选择刚 Fork 的仓库

    • 构建设置:

      纯文本
      Build command: pnpm install --frozen-lockfile && pnpm run pages:build
      Build output directory: .vercel/output/static
    • 兼容性标志:nodejs_compat

  3. 配置环境变量

    纯文本
    # 管理员账号
    USERNAME=admin
    PASSWORD=your_password
    
    # 存储配置
    NEXT_PUBLIC_STORAGE_TYPE=d1
    
    # 功能开关
    NEXT_PUBLIC_ENABLE_REGISTER=true
  4. 创建 D1 数据库

    纯文本
    # 安装Wrangler CLI
    npm install -g wrangler
    wrangler auth login
    
    # 创建数据库
    wrangler d1 create katelyatv-db
    # 在项目根目录下运行
    wrangler d1 execute katelyatv-db --file=./scripts/d1-init.sql
  5. 配置数据库绑定:在 wrangler.toml 中添加数据库 ID

4. Vercel 部署

  1. Fork 本仓库到自己的 GitHub 账号

  2. 在 Vercel 中导入项目

  3. 设置环境变量 PASSWORD(必填)

  4. 构建命令:pnpm run build

本地开发环境搭建

如果您想参与开发或在本地测试:

纯文本
# 克隆仓库
git clone https://github.com/katelya77/KatelyaTV.git
cd KatelyaTV

# 安装依赖
pnpm install

# 启动开发服务器
pnpm dev

# 运行测试
pnpm test

# 构建生产版本
pnpm build

# 代码格式化
pnpm lint --fix
pnpm format

TVBox 配置使用

KatelyaTV 支持与 TVBox 等电视盒子应用配合使用:

  1. 获取配置地址:

    • JSON 格式:https://你的域名/api/tvbox?format=json

    • TXT 格式:https://你的域名/api/tvbox?format=txt

    • XML 格式:https://你的域名/api/tvbox?format=xml

  2. 配置导入步骤:

    • 打开 TVBox 应用

    • 进入「配置」或「设置」页面

    • 选择「导入配置」或「添加配置」

    • 输入上述配置地址

    • 等待导入完成

升级更新

Docker 更新

纯文本
# 停止并更新服务
docker compose pull
docker compose up -d

# 查看运行状态
docker compose ps

# 查看更新日志
docker compose logs -f katelyatv

Git 部署更新

纯文本
# 备份当前配置
cp config.json config.json.backup

# 拉取最新代码
git pull origin main

# 安装新依赖
pnpm install

# 重新构建
pnpm run build

# 恢复配置文件
cp config.json.backup config.json

# 重启服务
pm2 restart katelyatv

相关资源

END
© 2026 执手听风. All Rights Reserved. / RSS / Sitemap
Powered by Tanstack Start & Flare Stack Blog