xianyu-auto-reply/Docker快速启动指南.md
2025-07-26 14:08:42 +08:00

262 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Docker快速部署指南 - 多用户版本
## 🚀 一键部署
### 1. 克隆项目
```bash
git clone https://github.com/zhinianboke/xianyu-auto-reply.git
cd xianyu-auto-reply
```
### 2. 配置环境变量
```bash
# 复制环境变量模板
cp .env.example .env
# 编辑配置文件(重要!)
nano .env
```
**必须修改的配置**
```bash
# 修改管理员密码
ADMIN_PASSWORD=your-secure-password
# 修改JWT密钥
JWT_SECRET_KEY=your-very-long-and-random-secret-key
# 多用户功能配置
MULTIUSER_ENABLED=true
USER_REGISTRATION_ENABLED=true
EMAIL_VERIFICATION_ENABLED=true
CAPTCHA_ENABLED=true
```
### 3. 启动服务
```bash
# 构建并启动
docker-compose up -d --build
# 查看启动状态
docker-compose ps
# 查看日志
docker-compose logs -f
```
### 4. 验证部署
```bash
# 健康检查
curl http://localhost:8080/health
# 访问注册页面
curl http://localhost:8080/register.html
```
## 🎯 快速测试
### 访问地址
- **主页**: http://localhost:8080
- **登录页面**: http://localhost:8080/login.html
- **注册页面**: http://localhost:8080/register.html
### 默认管理员账号
- **用户名**: admin
- **密码**: admin123请立即修改
### 测试多用户功能
1. 访问注册页面
2. 输入用户信息
3. 验证图形验证码
4. 接收邮箱验证码
5. 完成注册
6. 登录测试数据隔离
## 🔧 常用命令
### 服务管理
```bash
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 查看特定服务日志
docker-compose logs -f xianyu-app
```
### 数据管理
```bash
# 备份数据
docker-compose exec xianyu-app cp /app/data/xianyu_data.db /app/data/backup_$(date +%Y%m%d_%H%M%S).db
# 进入容器
docker-compose exec xianyu-app bash
# 查看数据目录
docker-compose exec xianyu-app ls -la /app/data/
```
### 故障排除
```bash
# 重新构建镜像
docker-compose build --no-cache
# 查看容器资源使用
docker stats
# 清理未使用的镜像
docker image prune
# 查看详细错误
docker-compose logs --tail=50 xianyu-app
```
## 🔍 故障排除
### 1. 容器启动失败
```bash
# 查看详细日志
docker-compose logs xianyu-app
# 检查端口占用
netstat -tulpn | grep 8080
# 重新构建
docker-compose down
docker-compose build --no-cache
docker-compose up -d
```
### 2. 图形验证码不显示
```bash
# 检查Pillow安装
docker-compose exec xianyu-app python -c "from PIL import Image; print('OK')"
# 检查字体
docker-compose exec xianyu-app ls /usr/share/fonts/
# 重新构建镜像
docker-compose build --no-cache
```
### 3. 数据库问题
```bash
# 检查数据库文件
docker-compose exec xianyu-app ls -la /app/data/
# 运行数据迁移
docker-compose exec xianyu-app python migrate_to_multiuser.py
# 检查数据库状态
docker-compose exec xianyu-app python migrate_to_multiuser.py check
```
### 4. 权限问题
```bash
# 检查数据目录权限
ls -la ./data/
# 修复权限Linux/Mac
sudo chown -R 1000:1000 ./data ./logs
# Windows用户通常不需要修改权限
```
## 📊 监控和维护
### 性能监控
```bash
# 查看资源使用
docker stats --no-stream
# 查看容器详情
docker-compose exec xianyu-app ps aux
# 查看磁盘使用
docker-compose exec xianyu-app df -h
```
### 日志管理
```bash
# 查看日志大小
docker-compose exec xianyu-app du -sh /app/logs/
# 清理旧日志保留最近7天
docker-compose exec xianyu-app find /app/logs/ -name "*.log" -mtime +7 -delete
# 实时监控日志
docker-compose logs -f --tail=100
```
### 数据备份
```bash
# 创建备份脚本
cat > backup.sh << 'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
docker-compose exec -T xianyu-app cp /app/data/xianyu_data.db /app/data/backup_$DATE.db
echo "备份完成: backup_$DATE.db"
EOF
chmod +x backup.sh
./backup.sh
```
## 🔐 安全建议
### 1. 修改默认配置
- ✅ 修改管理员密码
- ✅ 修改JWT密钥
- ✅ 禁用调试模式
- ✅ 配置防火墙
### 2. 网络安全
```bash
# 只允许本地访问(如果不需要外部访问)
# 修改 docker-compose.yml 中的端口映射
ports:
- "127.0.0.1:8080:8080" # 只绑定本地
```
### 3. 数据安全
- 定期备份数据库
- 使用HTTPS通过反向代理
- 限制用户注册(如不需要)
- 监控异常登录
## 🎉 部署完成
部署完成后,您的系统将支持:
-**多用户注册和登录**
-**图形验证码保护**
-**邮箱验证码验证**
-**完整的数据隔离**
-**企业级安全保护**
现在可以安全地支持多个用户同时使用系统!
## 📞 获取帮助
如果遇到问题:
1. 查看日志:`docker-compose logs -f`
2. 检查状态:`docker-compose ps`
3. 健康检查:`curl http://localhost:8080/health`
4. 运行测试:`python test_docker_deployment.sh`Windows用户需要WSL或Git Bash
---
**提示**: 首次部署后建议运行数据迁移脚本将历史数据绑定到admin用户。