Merge branch 'main' into cursor/update-documentation-and-release-notes-fb3a

cursor/update-documentation-and-release-notes-fb3a
Katelya 2025-08-31 00:36:34 +08:00 committed by GitHub
commit 93106cbf3b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 271 additions and 162 deletions

251
DOCKER_DEPLOYMENT.md Normal file
View File

@ -0,0 +1,251 @@
# KatelyaTV Docker 部署指南
> 本文档提供 KatelyaTV 的完整 Docker 部署指南,确保用户能够成功拉取和部署镜像。
## 📦 镜像信息
- **镜像地址**: `ghcr.io/katelya77/katelyatv:latest`
- **支持架构**: linux/amd64, linux/arm64
- **基础镜像**: node:20-alpine
- **暴露端口**: 3000
## 🚀 快速部署
### 1. 单容器部署(推荐新手)
```bash
# 拉取最新镜像
docker pull ghcr.io/katelya77/katelyatv:latest
# 启动容器
docker run -d \
--name katelyatv \
-p 3000:3000 \
--env PASSWORD=your_secure_password \
--restart unless-stopped \
ghcr.io/katelya77/katelyatv:latest
# 查看运行状态
docker ps | grep katelyatv
# 查看日志
docker logs katelyatv
```
### 2. Docker Compose 部署(推荐生产环境)
创建 `docker-compose.yml` 文件:
```yaml
version: '3.8'
services:
katelyatv:
image: ghcr.io/katelya77/katelyatv:latest
container_name: katelyatv
restart: unless-stopped
ports:
- "3000:3000"
environment:
- PASSWORD=your_secure_password
- SITE_NAME=KatelyaTV
volumes:
# 可选:挂载自定义配置
# - ./config.json:/app/config.json:ro
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
```
启动服务:
```bash
# 启动服务
docker-compose up -d
# 查看状态
docker-compose ps
# 查看日志
docker-compose logs -f
```
## 🗄️ 数据持久化部署Redis
对于需要多用户支持和数据同步的场景:
```yaml
version: '3.8'
services:
katelyatv:
image: ghcr.io/katelya77/katelyatv:latest
container_name: katelyatv
restart: unless-stopped
ports:
- "3000:3000"
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=redis
- REDIS_URL=redis://redis:6379
- NEXT_PUBLIC_ENABLE_REGISTER=true
depends_on:
- redis
networks:
- katelyatv-network
redis:
image: redis:7-alpine
container_name: katelyatv-redis
restart: unless-stopped
volumes:
- redis_data:/data
networks:
- katelyatv-network
command: redis-server --appendonly yes
volumes:
redis_data:
networks:
katelyatv-network:
driver: bridge
```
## 🔧 环境变量配置
| 变量名 | 描述 | 默认值 | 示例 |
|--------|------|--------|------|
| `PASSWORD` | 访问密码 | - | `my_secure_password` |
| `USERNAME` | 管理员用户名Redis模式 | - | `admin` |
| `SITE_NAME` | 站点名称 | `KatelyaTV` | `我的影视站` |
| `NEXT_PUBLIC_STORAGE_TYPE` | 存储类型 | `localstorage` | `redis`, `d1`, `upstash` |
| `REDIS_URL` | Redis连接地址 | - | `redis://redis:6379` |
| `NEXT_PUBLIC_ENABLE_REGISTER` | 开放注册 | `false` | `true` |
| `NEXT_PUBLIC_SEARCH_MAX_PAGE` | 搜索最大页数 | `5` | `10` |
## 🔍 故障排查
### 常见问题
1. **容器启动失败**
```bash
# 查看详细错误信息
docker logs katelyatv
# 检查端口占用
netstat -tulpn | grep :3000
```
2. **镜像拉取失败**
```bash
# 确认镜像地址正确
docker pull ghcr.io/katelya77/katelyatv:latest
# 如果是私有仓库,需要先登录
docker login ghcr.io
```
3. **数据丢失问题**
- localStorage 模式:数据存储在浏览器,清除缓存会丢失
- 建议使用 Redis 模式进行数据持久化
### 健康检查
```bash
# 检查容器状态
docker ps
# 检查容器健康状态
docker inspect katelyatv | grep -A 5 "Health"
# 测试应用响应
curl -I http://localhost:3000
```
## 🔄 更新升级
### 更新到最新版本
```bash
# 停止旧容器
docker stop katelyatv
docker rm katelyatv
# 拉取最新镜像
docker pull ghcr.io/katelya77/katelyatv:latest
# 启动新容器(使用相同配置)
docker run -d \
--name katelyatv \
-p 3000:3000 \
--env PASSWORD=your_secure_password \
--restart unless-stopped \
ghcr.io/katelya77/katelyatv:latest
```
### Docker Compose 更新
```bash
# 拉取最新镜像
docker-compose pull
# 重新创建容器
docker-compose up -d --force-recreate
```
## 🔐 安全建议
1. **设置强密码**: 使用复杂密码保护访问
2. **限制访问**: 配置防火墙或反向代理限制访问来源
3. **定期更新**: 保持镜像版本最新
4. **数据备份**: 定期备份 Redis 数据(如果使用)
5. **监控日志**: 关注异常访问和错误日志
## 📊 性能优化
### 资源限制
```yaml
services:
katelyatv:
image: ghcr.io/katelya77/katelyatv:latest
deploy:
resources:
limits:
memory: 512M
cpus: '0.5'
reservations:
memory: 256M
cpus: '0.25'
```
### 反向代理Nginx
```nginx
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
## 🆘 获取帮助
- 📖 [项目文档](README.md)
- 🐛 [问题反馈](https://github.com/katelya77/KatelyaTV/issues)
- 💬 [讨论区](https://github.com/katelya77/KatelyaTV/discussions)
---
**注意**: 本项目仅供学习和个人使用,请遵守当地法律法规。

View File

@ -91,11 +91,13 @@ nano .env.local
```
**必需配置:**
```bash
PASSWORD=your_secure_password
```
**推荐配置:**
```bash
SITE_NAME=我的影视站
NEXT_PUBLIC_STORAGE_TYPE=localstorage
@ -197,15 +199,19 @@ NEXT_PUBLIC_STORAGE_TYPE=d1
## 🚨 常见问题
### Q: 无法访问应用
**A:** 检查端口是否被占用,防火墙设置,或尝试其他端口。
### Q: 搜索无结果
**A:** 检查网络连接,资源站点是否可用,或尝试其他关键词。
### Q: 视频无法播放
**A:** 检查视频源是否有效,浏览器是否支持相关格式。
### Q: 数据丢失
**A:** 如果使用 localStorage数据存储在浏览器中清除缓存会丢失数据。
## 📱 移动端使用
@ -233,10 +239,11 @@ NEXT_PUBLIC_STORAGE_TYPE=d1
现在您已经完成了基础配置,可以开始享受 KatelyaTV 带来的影视体验了!
**重要提醒:**
- 本项目仅供学习和个人使用
- 请遵守当地法律法规
- 不要用于商业用途或公开服务
---
如有任何问题,欢迎在 GitHub 上提出 Issue 或参与讨论!
如有任何问题,欢迎在 GitHub 上提出 Issue 或参与讨论!

View File

@ -355,7 +355,7 @@ KatelyaTV 支持标准的苹果 CMS V10 API 格式。
- [ts-nextjs-tailwind-starter](https://github.com/theodorusclarence/ts-nextjs-tailwind-starter) — 项目最初基于该脚手架。
- [LibreTV](https://github.com/LibreSpark/LibreTV) — 由此启发,站在巨人的肩膀上。
- MoonTV 原始项目与作者社区 — 感谢原作奠定坚实基础。
- [LunaTV-原MoonTV](https://github.com/MoonTechLab/LunaTV) — 原始项目与作者社区,感谢原作奠定坚实基础。
- [ArtPlayer](https://github.com/zhw2590582/ArtPlayer) — 提供强大的网页视频播放器。
- [HLS.js](https://github.com/video-dev/hls.js) — 实现 HLS 流媒体在浏览器中的播放支持。
- 感谢所有提供免费影视接口的站点。

View File

@ -3,12 +3,14 @@
> 本项目在「MoonTV」基础上进行二创与继承由 Katelya 持续维护。保留并致谢原作与社区贡献,在不改变核心理念的前提下,专注于更易部署、更友好体验与更稳定维护。
## 亮点
- 全面延续上游核心多源聚合搜索、在线播放、收藏与观看历史、PWA 支持、响应式布局、多用户系统等
- 文档重写与梳理README、QUICKSTART、PROJECT_STATUS、CONTRIBUTING、CHANGELOG 全面适配 KatelyaTV 品牌
- 部署指引优化Vercel / Docker / Cloudflare Pages 一站式说明,提供 Compose 最佳实践
- 安全与隐私提醒:新增部署安全提示与法律风险说明
## 变更摘要
- 品牌与文档
- 将项目品牌统一为 KatelyaTV并明确二创与继承来源
- 更新部署与使用说明,优化快速上手体验
@ -18,7 +20,9 @@
- 默认站点名改为 `KatelyaTV`(可通过 `SITE_NAME` 环境变量覆盖)
## 安装与升级
- 首次安装Docker 推荐)
```bash
# 拉取镜像
docker pull ghcr.io/katelya77/katelyatv:latest
@ -30,24 +34,29 @@ docker run -d --name katelyatv \
--restart unless-stopped \
ghcr.io/katelya77/katelyatv:latest
```
- 或使用 README 中的 Docker Compose 示例
## 兼容性
- 保持与上游 MoonTV v0.1.0 行为一致
- 支持存储后端localStorage / Redis / Cloudflare D1 / Upstash Redis
- 运行环境Node.js 18+;容器镜像支持多架构
## 已知问题
- 部分第三方资源站可用性受其自身状态影响
- Android TV 端收藏与网页端暂未完全互通(后续版本优化)
## 后续路线
- 弹幕系统、字幕支持、下载功能、社交分享
- 数据同步与多端互通完善
- 性能与稳定性持续优化
## 鸣谢
- 原始项目 MoonTV 及其作者与社区
- 所有为本项目提供反馈、贡献代码与文档的开发者
— Katelya
— Katelya

View File

@ -1,157 +0,0 @@
# KatelyaTV v0.2.0 发布说明
> 本版本主要修复了 Docker 部署配置问题,确保用户能够正确使用 KatelyaTV 的 Docker 镜像进行部署。
## 🚀 重要更新
### Docker 部署修复
- **修复镜像路径**:将所有文档中的 Docker 镜像路径从 `ghcr.io/senshinya/moontv:latest` 更新为 `ghcr.io/katelya77/katelyatv:latest`
- **统一部署说明**:确保 README.md、QUICKSTART.md 和发布说明中的 Docker 部署指令一致
- **验证部署流程**:确认所有 Docker Compose 配置文件使用正确的镜像路径
### 代码兼容性验证
- **构建验证**:通过完整的构建测试,确保所有 KatelyaTV 品牌更改不影响功能
- **向后兼容**:保持与 MoonTV v0.1.0 的完全兼容性
- **环境变量支持**:支持通过 `SITE_NAME` 等环境变量自定义配置
## 🐳 Docker 部署指南
### 快速启动
```bash
# 拉取最新镜像
docker pull ghcr.io/katelya77/katelyatv:latest
# 启动容器
docker run -d \
--name katelyatv \
-p 3000:3000 \
--env PASSWORD=your_password \
--restart unless-stopped \
ghcr.io/katelya77/katelyatv:latest
```
### Docker Compose 部署
#### 基础版本localStorage
```yaml
services:
katelyatv:
image: ghcr.io/katelya77/katelyatv:latest
container_name: katelyatv
restart: unless-stopped
ports:
- '3000:3000'
environment:
- PASSWORD=your_password
```
#### Redis 版本(推荐,支持多用户)
```yaml
services:
katelyatv-core:
image: ghcr.io/katelya77/katelyatv:latest
container_name: katelyatv
restart: unless-stopped
ports:
- '3000:3000'
environment:
- USERNAME=admin
- PASSWORD=admin_password
- NEXT_PUBLIC_STORAGE_TYPE=redis
- REDIS_URL=redis://katelyatv-redis:6379
- NEXT_PUBLIC_ENABLE_REGISTER=true
networks:
- katelyatv-network
depends_on:
- katelyatv-redis
katelyatv-redis:
image: redis
container_name: katelyatv-redis
restart: unless-stopped
networks:
- katelyatv-network
volumes:
- ./data:/data
networks:
katelyatv-network:
driver: bridge
```
## 📋 环境变量配置
| 变量名 | 说明 | 默认值 | 示例 |
|--------|------|--------|------|
| `PASSWORD` | 访问密码localStorage 模式)或管理员密码 | - | `your_password` |
| `USERNAME` | 管理员用户名(非 localStorage 模式) | - | `admin` |
| `SITE_NAME` | 站点名称 | `KatelyaTV` | `我的影视站` |
| `NEXT_PUBLIC_STORAGE_TYPE` | 存储类型 | `localstorage` | `redis`, `d1`, `upstash` |
| `REDIS_URL` | Redis 连接地址 | - | `redis://localhost:6379` |
| `NEXT_PUBLIC_ENABLE_REGISTER` | 是否开放注册 | `false` | `true` |
## 🔧 部署验证
部署完成后,请验证以下功能:
1. **基础访问**:浏览器访问 `http://localhost:3000` 能正常打开
2. **密码验证**:使用设置的密码能正常登录
3. **搜索功能**:能正常搜索和播放视频
4. **数据持久化**重启容器后数据保持Redis 模式)
## 🐛 已知问题
- 部分第三方资源站可用性受其自身状态影响
- Android TV 端收藏与网页端暂未完全互通(计划在后续版本优化)
## 📝 变更日志
### 修复
- 修复 README.md 中 Docker 镜像路径错误
- 修复 QUICKSTART.md 中 Docker 部署说明
- 修复 Docker Compose 配置示例中的镜像路径
### 改进
- 统一所有文档中的 Docker 部署说明
- 完善环境变量配置说明
- 添加部署验证步骤
### 兼容性
- 保持与 MoonTV v0.1.0 完全兼容
- 支持从旧版本无缝升级
- 保留所有现有功能和配置选项
## 🔄 升级指南
### 从 v0.1.0-katelya 升级
```bash
# 停止旧容器
docker stop katelyatv
docker rm katelyatv
# 拉取新镜像
docker pull ghcr.io/katelya77/katelyatv:latest
# 使用新镜像启动
docker run -d \
--name katelyatv \
-p 3000:3000 \
--env PASSWORD=your_password \
--restart unless-stopped \
ghcr.io/katelya77/katelyatv:latest
```
### 从 MoonTV 迁移
如果您之前使用的是 MoonTV只需将 Docker 镜像路径更改为 `ghcr.io/katelya77/katelyatv:latest`,其他配置保持不变。
## 🙏 鸣谢
- 感谢社区用户反馈的 Docker 部署问题
- 感谢原始项目 MoonTV 及其作者与社区
- 感谢所有为本项目提供反馈和建议的开发者
---
**完整部署文档**:请参考 [README.md](README.md) 和 [QUICKSTART.md](QUICKSTART.md)
— Katelya

View File

@ -1 +1 @@
20250928125318
20250830155949

File diff suppressed because one or more lines are too long