# 配置更新 Runbook ## 触发条件 - 修改系统配置 - 更新环境变量 - 更改配置文件 ## 警告 **配置更新可能影响服务行为:** - 某些配置需要重启服务才能生效 - 错误的配置可能导致服务启动失败 - 生产环境修改前请确认备份 ## 配置位置 ```bash # 配置文件 ./configs/config.yaml # 环境变量文件 .env # Docker Compose 配置 docker-compose.yml ``` ## 配置更新步骤 ### 1. 确认当前配置 ```bash # 查看当前配置(测试环境) cat ./configs/config.yaml # 查看环境变量 cat .env | grep -v SECRET # 确认服务状态 docker compose ps ``` ### 2. 备份当前配置 ```bash # 备份配置文件 cp ./configs/config.yaml ./configs/config.yaml.bak.$(date +%Y%m%d) # 备份环境变量(不包含敏感值) cp .env .env.bak.$(date +%Y%m%d) ``` ### 3. 执行配置更新 #### 方式一:更新环境变量(推荐) ```bash # 编辑 .env 文件 vi .env # 常用配置项: # JWT_SECRET - JWT 签名密钥(必须 32+ 字符) # DB_TYPE - 数据库类型(sqlite/postgres) # DB_PATH - SQLite 数据库路径 # TOTP_ENCRYPTION_KEY - TOTP 加密密钥 # TZ - 时区设置 ``` #### 方式二:更新配置文件 ```bash # 编辑配置文件 vi ./configs/config.yaml # 关键配置项: # jwt.secret - JWT 签名密钥 # jwt.access_token_expire_minutes - Token 过期时间 # server.port - 服务端口 # cors.allow origins - CORS 白名单 ``` ### 4. 验证配置更新 ```bash # 重启服务使配置生效 docker compose restart # 检查服务状态 docker compose ps # 检查健康端点 curl http://localhost:8080/api/v1/health # 检查日志无错误 docker compose logs | grep -i error ``` ### 5. 验证功能 ```bash # 测试登录 curl -X POST http://localhost:8080/api/v1/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"your-password"}' # 测试需要认证的接口 curl http://localhost:8080/api/v1/users \ -H "Authorization: Bearer " ``` ## 常见配置更新 ### 1. 修改 JWT 密钥 ```bash # 生成新密钥(32+ 字符随机字符串) openssl rand -base64 32 # 更新 .env echo "JWT_SECRET=your-new-secret-key-here" >> .env # 重启服务 docker compose restart ``` ### 2. 修改数据库路径 ```bash # 编辑配置文件 vi ./configs/config.yaml # 修改 db.path # 注意:修改数据库路径后需要确保新路径可写 # 重启服务 docker compose restart ``` ### 3. 修改 CORS 配置 ```bash # 编辑配置文件 vi ./configs/config.yaml # 修改 cors.allow_origins # 例如:["http://localhost:3000", "https://yourdomain.com"] # 重启服务 docker compose restart ``` ### 4. 修改端口 ```bash # 编辑 docker-compose.yml vi docker-compose.yml # 修改 ports: # - "8080:8080" -> - "8090:8080" # 重启服务 docker compose down docker compose up -d ``` ## 回滚步骤 如果配置更新后服务异常: ```bash # 停止服务 docker compose stop # 恢复配置文件 cp ./configs/config.yaml.bak.* ./configs/config.yaml # 恢复环境变量 cp .env.bak.* .env # 重启服务 docker compose restart ``` ## 配置验证清单 - [ ] 配置文件语法正确 - [ ] 环境变量已正确设置 - [ ] 服务成功启动 - [ ] 健康检查通过 - [ ] 主要功能正常 - [ ] 已通知相关人员配置变更 ## 联系人 - 运维负责人:[填写] - 开发团队:[填写]