82485d1939
- Implemented `docker-compose.kvrocks.auth.yml` for Kvrocks with password authentication. - Created `docker-compose.redis.yml` for Redis deployment. - Added Kvrocks configuration file `kvrocks.auth.conf` with necessary settings. - Updated documentation with deployment guidelines for Kvrocks. - Introduced ESLint configuration for code quality. - Developed deployment configuration check script `check-deployment-configs.js`. - Added D1 database initialization script `d1-init.sql` for KatelyaTV. - Created test script `test-kvrocks-deployment.js` to validate Kvrocks deployment. - Implemented fix verification script `verify-kvrocks-fix.js` for password handling. - Updated `wrangler.toml` for Cloudflare deployment configuration.
3.5 KiB
3.5 KiB
Kvrocks 部署指南
本文档介绍如何使用 Docker + Kvrocks 部署 KatelyaTV。
🚀 快速开始
方案一:无密码部署(推荐用于开发环境)
- 准备环境变量文件
# 复制环境变量示例文件
cp .env.kvrocks.example .env
# 编辑环境变量
nano .env
- 环境变量配置
# 数据库配置
NEXT_PUBLIC_STORAGE_TYPE=kvrocks
KVROCKS_URL=redis://kvrocks:6666
# 不设置密码
# KVROCKS_PASSWORD=
KVROCKS_DATABASE=0
# 应用配置
NEXTAUTH_SECRET=your_nextauth_secret_here
NEXTAUTH_URL=http://localhost:3000
- 启动服务
docker-compose -f docker-compose.kvrocks.yml up -d
方案二:密码认证部署(推荐用于生产环境)
- 准备环境变量文件
# 复制环境变量示例文件
cp .env.kvrocks.example .env
# 编辑环境变量
nano .env
- 环境变量配置
# 数据库配置
NEXT_PUBLIC_STORAGE_TYPE=kvrocks
KVROCKS_URL=redis://kvrocks:6666
# 设置强密码
KVROCKS_PASSWORD=your_secure_password_here
KVROCKS_DATABASE=0
# 应用配置
NEXTAUTH_SECRET=your_nextauth_secret_here
NEXTAUTH_URL=http://localhost:3000
- 启动服务
docker-compose -f docker-compose.kvrocks.auth.yml up -d
🔧 故障排除
问题 1:密码认证错误
❌ Kvrocks Client Error: [Error]: ERR Client sent AUTH, but no password is set
解决方案:
- 确保使用正确的 docker-compose 文件
- 检查环境变量
KVROCKS_PASSWORD的设置 - 无密码部署使用:
docker-compose.kvrocks.yml - 密码认证部署使用:
docker-compose.kvrocks.auth.yml
问题 2:连接超时
❌ Failed to connect to Kvrocks: connect ECONNREFUSED
解决方案:
- 检查 Kvrocks 服务是否正常启动
docker-compose logs kvrocks
- 检查网络连接
docker-compose exec katelyatv ping kvrocks
- 检查端口映射
docker-compose ps
问题 3:数据持久化问题
解决方案:
- 确保数据卷正确挂载
docker volume ls | grep kvrocks
- 检查数据目录权限
docker-compose exec kvrocks ls -la /var/lib/kvrocks/data
📊 健康检查
检查服务状态
# 查看所有服务状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 检查 Kvrocks 连接
docker-compose exec kvrocks redis-cli -p 6666 ping
性能监控
# 查看 Kvrocks 信息
docker-compose exec kvrocks redis-cli -p 6666 info
# 查看内存使用
docker-compose exec kvrocks redis-cli -p 6666 info memory
# 查看连接数
docker-compose exec kvrocks redis-cli -p 6666 info clients
🔒 安全建议
- 生产环境必须设置密码
- 定期备份数据
- 限制网络访问
- 监控日志异常
📁 文件结构
project/
├── docker-compose.kvrocks.yml # 无密码部署配置
├── docker-compose.kvrocks.auth.yml # 密码认证部署配置
├── .env.kvrocks.example # 环境变量示例
├── docker/
│ └── kvrocks/
│ ├── kvrocks.conf # 无密码配置文件
│ └── kvrocks.auth.conf # 密码认证配置文件
└── .env # 实际环境变量(需要创建)
🆘 获取帮助
如果遇到问题,请:
- 检查日志:
docker-compose logs -f - 验证环境变量:
docker-compose config - 重启服务:
docker-compose restart - 重新构建:
docker-compose up -d --force-recreate