Delete DOCKER_DEPLOYMENT.md
parent
a4fd8a78d5
commit
146ed3d7b5
|
@ -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)
|
||||
|
||||
---
|
||||
|
||||
**注意**: 本项目仅供学习和个人使用,请遵守当地法律法规。
|
Loading…
Reference in New Issue