diff --git a/DOCKER_DEPLOYMENT.md b/DOCKER_DEPLOYMENT.md deleted file mode 100644 index 020b92d..0000000 --- a/DOCKER_DEPLOYMENT.md +++ /dev/null @@ -1,251 +0,0 @@ -# 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) - ---- - -**注意**: 本项目仅供学习和个人使用,请遵守当地法律法规。 \ No newline at end of file