mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 12:37:35 +08:00
5.0 KiB
5.0 KiB
Docker多用户系统部署更新
🎯 更新概述
为支持多用户系统和图形验证码功能,Docker部署配置已更新。
📦 新增依赖
Python依赖
- Pillow>=10.0.0 - 图像处理库,用于生成图形验证码
系统依赖
- libjpeg-dev - JPEG图像支持
- libpng-dev - PNG图像支持
- libfreetype6-dev - 字体渲染支持
- fonts-dejavu-core - 默认字体包
🔧 配置文件更新
1. requirements.txt
# AI回复相关
openai>=1.65.5
python-dotenv>=1.0.1
+ # 图像处理(图形验证码)
+ Pillow>=10.0.0
2. Dockerfile
# 安装系统依赖
RUN apt-get update && \
apt-get install -y --no-install-recommends \
nodejs \
npm \
tzdata \
curl \
+ libjpeg-dev \
+ libpng-dev \
+ libfreetype6-dev \
+ fonts-dejavu-core \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
3. docker-compose.yml
environment:
- ADMIN_USERNAME=${ADMIN_USERNAME:-admin}
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123}
- JWT_SECRET_KEY=${JWT_SECRET_KEY:-default-secret-key}
- SESSION_TIMEOUT=${SESSION_TIMEOUT:-3600}
+ # 多用户系统配置
+ - MULTIUSER_ENABLED=${MULTIUSER_ENABLED:-true}
+ - USER_REGISTRATION_ENABLED=${USER_REGISTRATION_ENABLED:-true}
+ - EMAIL_VERIFICATION_ENABLED=${EMAIL_VERIFICATION_ENABLED:-true}
+ - CAPTCHA_ENABLED=${CAPTCHA_ENABLED:-true}
+ - TOKEN_EXPIRE_TIME=${TOKEN_EXPIRE_TIME:-86400}
🚀 部署步骤
1. 更新代码
# 拉取最新代码
git pull origin main
# 检查更新的文件
git status
2. 重新构建镜像
# 停止现有容器
docker-compose down
# 重新构建镜像(包含新依赖)
docker-compose build --no-cache
# 启动服务
docker-compose up -d
3. 验证部署
# 检查容器状态
docker-compose ps
# 查看日志
docker-compose logs -f xianyu-app
# 健康检查
curl http://localhost:8080/health
🧪 功能测试
1. 访问注册页面
# 打开浏览器访问
http://localhost:8080/register.html
2. 测试图形验证码
- 页面应该自动显示图形验证码
- 点击图片可以刷新验证码
- 输入4位验证码应该能够验证
3. 测试用户注册
- 输入用户名和邮箱
- 验证图形验证码
- 发送邮箱验证码
- 完成注册流程
4. 测试数据隔离
- 注册多个用户
- 分别登录添加不同的Cookie
- 验证用户只能看到自己的数据
🔍 故障排除
1. 图形验证码不显示
# 检查Pillow是否正确安装
docker-compose exec xianyu-app python -c "from PIL import Image; print('Pillow OK')"
# 检查字体是否可用
docker-compose exec xianyu-app ls /usr/share/fonts/
2. 容器启动失败
# 查看详细错误日志
docker-compose logs xianyu-app
# 检查依赖安装
docker-compose exec xianyu-app pip list | grep -i pillow
3. 权限问题
# 检查数据目录权限
ls -la ./data/
ls -la ./logs/
# 修复权限(如需要)
sudo chown -R 1000:1000 ./data ./logs
📊 资源使用
更新后的资源需求
- 内存: 512MB → 768MB(推荐)
- 磁盘: 1GB → 1.5GB(推荐)
- CPU: 0.5核 → 0.5核(无变化)
调整资源限制
# docker-compose.yml
deploy:
resources:
limits:
memory: 768M # 增加内存限制
cpus: '0.5'
reservations:
memory: 384M # 增加内存预留
cpus: '0.25'
🔐 安全配置
1. 环境变量安全
# 创建 .env 文件
cat > .env << EOF
# 修改默认密码
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
EOF
2. 网络安全
# 如果不需要外部访问注册功能,可以禁用
USER_REGISTRATION_ENABLED=false
# 或者使用Nginx进行访问控制
# 参考 nginx/nginx.conf 配置
📋 迁移检查清单
- 更新 requirements.txt
- 更新 Dockerfile
- 更新 docker-compose.yml
- 重新构建镜像
- 测试图形验证码功能
- 测试用户注册流程
- 验证数据隔离
- 检查资源使用
- 更新监控配置
🎉 升级完成
升级完成后,您的系统将支持:
- 多用户注册和登录
- 图形验证码保护
- 邮箱验证码验证
- 完整的数据隔离
- 企业级安全保护
现在可以安全地支持多个用户同时使用系统,每个用户的数据完全独立!
📞 技术支持
如果在部署过程中遇到问题:
- 查看容器日志:
docker-compose logs -f
- 检查健康状态:
docker-compose ps
- 验证网络连接:
curl http://localhost:8080/health
- 测试功能:访问
http://localhost:8080/register.html
注意: 首次部署多用户系统后,建议运行数据迁移脚本将历史数据绑定到admin用户。