refactor: P9 运维完善(健康端点/Docker 加固/CI-CD/scripts)

- /health 健康端点(白名单已加,Docker HEALTHCHECK 目标)
- docker-compose 加固:build context 修复、privileged false、flask_user、bridge 网络
- .github/workflows/ci.yml:flake8 + mypy + pytest(含 MySQL/Redis 服务)
- scripts/:health_check.py / init_db.py
- Makefile 更新为 src/ 结构

【验收】全项目 flake8 0;12 passed;/health 200;health_check 脚本运行正常
【注】docker-compose 实际构建验证需 Docker 环境执行

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DjangoAdmin Dev
2026-08-07 19:51:51 +08:00
co-authored by Claude
parent 2b001dde95
commit 8937799973
9 changed files with 189 additions and 17 deletions
+7 -8
View File
@@ -23,8 +23,8 @@ services:
container_name: flask_elevue
# 镜像构建配置(当镜像不存在时自动构建)
build:
context: ./ # 构建上下文路径(项目根目录)
dockerfile: Dockerfile # Dockerfile 文件名
context: ../ # 构建上下文路径(项目根目录,Dockerfile 在 docker/ 下)
dockerfile: docker/Dockerfile # Dockerfile 文件名
#build: . # 旧版构建语法(已注释,保留兼容)
# ------------------------------------------------------------------------
@@ -33,13 +33,13 @@ services:
# 【安全警告】privileged: true 授予容器所有宿主机权限
# 风险等级:高危(容器逃逸风险)
# 建议:生产环境必须改为 false,并使用 cap_add 精确授权
# 当前设置为 true 的原因:如需访问宿主机设备或执行系统级操作
privileged: true
# 已加固:privileged 高危,改为 false
privileged: false
# 容器内运行的用户(安全最佳实践)
# 当前使用 root(不推荐),建议在 Dockerfile 中创建专用用户
# 示例:user: flask_user:flask_group (UID:GID)
user: root
# 已加固:使用 Dockerfile 中创建的非特权用户
user: flask_user
# ------------------------------------------------------------------------
# 服务高可用配置
@@ -55,8 +55,7 @@ services:
# 网络模式:host(容器直接使用宿主机网络栈)
# 优点:网络性能高,无 NAT 开销
# 缺点:网络隔离性差,端口冲突风险,不适用于多容器编排
# 生产环境建议:使用 bridge 或自定义网络
network_mode: host
# 已加固:改用默认 bridge 网络(配合 ports 映射)
# 端口映射(仅在非 host 网络模式下生效)
# 格式:宿主机端口:容器端口