飞牛 NAS 部署跨平台影视聚合播放器:KatelyaTV
今天又发现了一个基于 MoonTV 二创延续版KatelyaTV。在原作基础上提供更易部署、更友好、更稳定的体验。并且增加了 TVBox 配置接口,可以把视频源导入到各种电视盒子应用中使用。本片主要介绍 KatelyaTV 的部署和使用,TVBox 的功能可以参考作者的TVBox 配置接口使用指南,或等我后面出的教程文章。
🤔 KatelyaTV 是什么?
🎬 KatelyaTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜索、在线播放、收藏同步、播放记录、本地/云端存储,让你可以随时随地畅享海量免费影视内容。MoonTV 二创延续版 · 持续维护与增强。
✨ 特性
- 🔍 聚合搜索:整合多个影视资源站,一键搜索全网内容
- 📺 高清播放:基于 ArtPlayer 的强大播放器,支持多种格式和画质
- ⏭️ 智能跳过:自动检测并跳过片头片尾,支持手动设置跳过时间段
- 🎯 断点续播:自动记录播放进度,跨设备同步观看位置
- 📱 响应式设计:完美适配手机、平板、电脑各种屏幕尺寸
- ⭐ 收藏功能:收藏喜欢的影视作品,支持跨设备同步
- 📖 播放历史:自动记录观看历史,快速找回看过的内容
- 👥 多用户支持:独立的用户系统,每个用户独享个人数据
- 🔄 数据同步:支持多种存储后端(LocalStorage、Redis、D1、Upstash)
- 🐳 Docker 一键部署:提供完整的 Docker 镜像,开箱即用
- ☁️ 多平台支持:兼容 Vercel、Cloudflare Pages、传统服务器
- 🔧 灵活配置:支持自定义资源站、代理设置、主题配置
- 📱 PWA 支持:可安装为桌面/手机应用,支持离线缓存
- 📺 TVBox 兼容:支持 TVBox 配置接口,可导入到各种电视盒子应用
- 🌓 深色模式:支持明暗主题切换,护眼舒适
- ⚡ 性能优化:智能缓存、懒加载、播放源优选算法
- 🔐 隐私保护:本地部署,数据完全掌控
- 🌍 国际化支持:多语言支持(规划中)
🐳部署指南
💡 推荐方案:
- 🆕 个人用户: Docker 单容器(最简单)
🏠 家庭/团队:Docker + Redis(功能完整)
- 🏢 生产环境: Docker + Kvrocks(极高可靠性,零数据丢失风险)
📋 部署方式对比
方式 | 难度 | 成本 | 多用户 | 数据可靠性 | 推荐场景 |
---|---|---|---|---|---|
🐳 Docker 单容器 | ⭐ | 需服务器 | ❌ | ⭐⭐ | 个人使用,最简单 |
🐳 Docker + Redis | ⭐⭐ | 需服务器 | ✅ | ⭐⭐⭐ | 家庭/团队,功能完整 |
🏪 Docker + Kvrocks | ⭐⭐ | 需服务器 | ✅ | ⭐⭐⭐⭐⭐ | 生产环境,高可靠性 |
☁️ Vercel | ⭐ | 免费 | ❌ | ⭐ | 临时体验,无服务器 |
🌐 Cloudflare | ⭐⭐⭐ | 免费 | ✅ | ⭐⭐⭐ | 技术爱好者 |
准备配置文件并上传到飞牛指定文件目录
配置文件标准版下载地址: 配置文件标准版
配置文件Plus下载地址: 配置文件Plus版本【94片源】
- 在飞牛新建目录有用存放配置文件
- 下载上面的配置文件(标准版/Plus二选一)后上传到飞牛新建的目录中。演示使用的是 Plus 版本。
🎯 方案一:Docker 单容器(推荐新手)
# 一键启动(请把 your_password 改成你的密码)
docker run -d \
--name katelyatv \
-p 3000:3000 \
--user 0:0
--env PASSWORD=your_password \
- ./configplus.json:/app/config.json:ro \
--restart unless-stopped \
ghcr.io/katelya77/katelyatv:latest
PASSWORD=your_strong_password
:your_strong_password
改成你的强密码。- ./configplus.json:/app/config.json:ro
:configplus
使用的是标准版配置文件需要改为config
,Plus 配置上无需修改。--user 0:0
:我搭建的时候不加这个参数会失败。如果你不用这个参数也可以正常使用,就无需添加。
🎯 方案二:Docker + Redis(推荐进阶)
docker-compose.yml
文件
services:
# KatelyaTV 主应用
katelyatv:
image: ghcr.io/katelya77/katelyatv:latest
container_name: katelyatv
ports:
- "3000:3000"
environment:
# 管理员账号(请修改)
- USERNAME=admin
- PASSWORD=your_strong_password
# 启用 Redis 存储
- NEXT_PUBLIC_STORAGE_TYPE=redis
- REDIS_URL=redis://katelyatv-redis:6379
# 允许用户注册(可选)
- NEXT_PUBLIC_ENABLE_REGISTER=true
depends_on:
katelyatv-redis:
condition: service_healthy
restart: unless-stopped
# 可选:挂载自定义配置
user: 0:0
volumes:
- ./configplus.json:/app/config.json:ro
# Redis 数据库
katelyatv-redis:
image: redis:7-alpine
container_name: katelyatv-redis
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
volumes:
- katelyatv-redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 3
restart: unless-stopped
volumes:
katelyatv-redis-data:
PASSWORD=your_strong_password
:your_strong_password
改成你的强密码。USERNAME=admin
:admin
可以改成你喜欢的管理员用户名。- ./configplus.json:/app/config.json:ro
:configplus
使用的是标准版配置文件需要改为config
,Plus 配置无需修改。user: 0:0
:我搭建的时候不加这个参数会失败。如果你不用这个参数也可以正常使用,就无需添加。
- 在飞牛主页面找到
Docker
打开后,切换菜单Compose
->新增项目
。
- 创建项目页面根据实际情况定义
项目名称
、选择路径
,并把上面docker-compose.yml
文件内容复制填入来源
文本框内容。按需修改检查无误后点击确定
按钮进行部署。
- 返回
Docker
管理页面,在容器
菜单,就可以看到运行情况,点击右侧🔗可以直接打开KatelyaTV
。
📖使用
- 访问
http://NASIP:3000
- 使用你设置的用户名和密码登录进入管理后台
- 点击顶部Tab可以切换不同类型的媒体
- 在管理后台可以配置资源站、管理用户等
更多部署方式或进阶玩法请参考作者的 Github仓库部署说明。
⚠️ 安全与隐私提醒
强烈建议设置密码保护
为了您的安全和避免潜在的法律风险,我们强烈建议在部署时设置密码保护:
- 避免公开访问:不设置密码的实例任何人都可以访问,可能被恶意利用
- 防范版权风险:公开的视频搜索服务可能面临版权方的投诉举报
- 保护个人隐私:设置密码可以限制访问范围,保护您的使用记录
部署建议
- 设置环境变量
PASSWORD
:为您的实例设置一个强密码 - 仅供个人使用:请勿将您的实例链接公开分享或传播
- 遵守当地法律:请确保您的使用行为符合当地法律法规
重要声明
- 本项目仅供学习和个人使用
- 请勿将部署的实例用于商业用途或公开服务
- 如因公开分享导致的任何法律问题,用户需自行承担责任
- 项目开发者不对用户的使用行为承担任何法律责任
评论区(暂无评论)