xianyu-auto-reply/DOCKER_MULTIUSER_UPDATE.md
2025-07-25 17:24:29 +08:00

5.0 KiB
Raw Blame History

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
  • 重新构建镜像
  • 测试图形验证码功能
  • 测试用户注册流程
  • 验证数据隔离
  • 检查资源使用
  • 更新监控配置

🎉 升级完成

升级完成后,您的系统将支持:

  1. 多用户注册和登录
  2. 图形验证码保护
  3. 邮箱验证码验证
  4. 完整的数据隔离
  5. 企业级安全保护

现在可以安全地支持多个用户同时使用系统,每个用户的数据完全独立!

📞 技术支持

如果在部署过程中遇到问题:

  1. 查看容器日志:docker-compose logs -f
  2. 检查健康状态:docker-compose ps
  3. 验证网络连接:curl http://localhost:8080/health
  4. 测试功能:访问 http://localhost:8080/register.html

注意: 首次部署多用户系统后建议运行数据迁移脚本将历史数据绑定到admin用户。