Commit Graph

31 Commits

Author SHA1 Message Date
aiyimickey c1a5174fd1 refactor: 合并 deploy-monitor.sh 到 deploy-ai.sh
- 删除独立的 deploy-monitor.sh 脚本
- 构建新鲜度检查功能合并到 deploy-ai.sh
- 使用动态检测替代硬编码站点列表(自动检测 .next/standalone/server.js)
- 更新 README.md 移除 deploy-monitor.sh 相关内容
2026-07-08 17:09:15 +08:00
aiyimickey eb6182f222 feat: 新增 Docker 缓存清理独立脚本
- 新增 docker-cache-cleanup.sh:支持多种清理模式(默认/激进/保守/完全)
- 自动检测运行环境:通过 curl ip.sb 获取公网 IP 匹配服务器列表
- 清理内容:dangling 镜像、测试镜像、构建缓存
- deploy-ai.sh 改为调用独立清理脚本
- 更新 README.md 和 deploy-ai-readme.md 文档
- sites-manage-local.sh 新增 gitea 站点支持(端口 6182)
2026-07-08 16:58:58 +08:00
aiyimickey cb9fc42097 feat: --local mode + runcmd/fetch adapter + comprehensive README
- backup.sh + restore.sh: 支持 --local 在服务器本地运行
- runcmd/fetch/upload 适配器统一处理远程/本地差异
- backup/README.md 重写为完整使用文档(含新服务器恢复流程)
2026-07-08 14:22:29 +08:00
aiyimickey 63e96164bf fix: auto-discovery strip -ai suffix + container_for helper + delete old scripts 2026-07-08 14:05:36 +08:00
aiyimickey ad2305305b refactor: 6→2 — backup.sh + restore.sh 统一备份/恢复脚本
- backup.sh: --db-only / --full / 默认站点完整备份
- restore.sh: --db / --full / 默认交互式站点恢复
- auto-discovery 减少到 1 份(旧方案 6 份)
- 删除旧脚本 backup-sites/db/full.sh + restore-sites/db/full.sh
- 更新 README
2026-07-08 12:30:12 +08:00
aiyimickey ec6d2c8c4a docs: README 更新 — monitor-ai + deploy-monitor + check-compliance + 自动发现 2026-07-08 12:10:15 +08:00
aiyimickey 9c9e5d7c44 fix: backup/restore scripts — auto-discover sites + add monitor-ai coverage
- backup-sites.sh: 自动发现含 DB 站点 + monitor case + wildcard 通用备份
- backup-db.sh: 自动发现站点 + 并行 WAL checkpoint + 动态 docker cp
- backup-full.sh: 自动发现 + monitor WAL + db export
- restore-sites.sh: 自动发现 + restore_monitor + restore_generic 通用恢复
- restore-db.sh: 新增 monitor/gitea case
- restore-full.sh: 新增 restore_monitor + 菜单位移
2026-07-08 12:06:03 +08:00
aiyimickey 3dd394d943 feat: 构建新鲜度自动检查(deploy-ai.sh + deploy-monitor.sh) 2026-07-08 10:45:23 +08:00
aiyimickey 3991ce5134 chore: 修复行 522 混合缩进(制表符+空格→4空格) 2026-07-03 14:40:02 +08:00
aiyimickey cd552a1a4d fix: deploy-ai.sh 全面审查修复(15项)
- C1: SSO 首次部署自动生成 JWKS 密钥
- C2: 首次部署自动生成 JWT_SECRET / OIDC_CLIENT_SECRET / LOCALADMIN_PASSWORD
- H1: LDAP 密码 sed 改用 | 分隔符
- H2: LLDAP 密钥写入改用 printf
- H3: OIDC client_secret 从 Authelia 配置自动注入
- H4: to_prod/to_local 改为白名单模式
- M1: 构建失败 return 1 阻断部署
- M2: 部署后清理远程 /tmp 临时文件
- M4: 移除构建日志本地保存
- L1: 修复缩进不一致
- L2: AUTHELIA_URL 仅对 OIDC 站点注入
- L3: monitor nginx reload 前添加 nginx -t
- L5: curl -k 添加说明注释
- L6: 磁盘紧急清理时截断容器日志
2026-07-03 14:37:54 +08:00
aiyimickey 1232efa191 fix: 部署脚本 .env 文件设置 600 权限(防止密码泄露) 2026-07-03 14:13:24 +08:00
aiyimickey 4ea06ba637 fix: deploy_sso JWKS 密钥处理 + 配置备份 + 占位符检测 2026-07-03 13:50:41 +08:00
aiyimickey d34c0c7cb5 fix: deploy-ai.sh musl 清理逻辑添加 monitor 站点 2026-07-03 13:24:17 +08:00
aiyimickey 2bda66bd64 feat: deploy-ai.sh 新增 monitor 部署支持 + .env.prod 模板处理
- 新增菜单选项 10) monitor.tlyq.ai
- monitor 使用 build_on_server + nginx 部署
- OIDC 环境变量注入支持 monitor
- 部署时从 .env.prod 模板补充缺失变量
- SSO 部署改用 configuration.prod.yml
2026-07-03 12:12:31 +08:00
aiyimickey f1ababe5be fix: 修复站点管理脚本状态检测问题
- 统一使用端口检测替代容器名检测(更可靠)
- 所有站点状态显示端口号
- 修复 sso 容器名:sso-ai → authelia(本地和云端一致)
- 修复 macOS bash 3.2 兼容性:移除 declare -A 和 mapfile
- 新增端口常量:WWW_AI_PORT、CLOUD_AI_PORT、TOKEN_AI_PORT
2026-07-02 18:36:55 +08:00
aiyimickey e2937d0ce1 fix: Docker 构建前临时替换 shared 符号链接为实际目录
Docker COPY 无法跟随指向构建上下文外的符号链接,
导致 @shared/* 模块在容器内构建时找不到。
构建前临时替换、构建后恢复。
2026-07-02 17:01:23 +08:00
aiyimickey 01836971e5 security: monitor-watchdog.sh 移除硬编码 webhook key,改为从 env/.env/数据库读取 2026-07-02 11:27:20 +08:00
aiyimickey 312c7ff681 refactor: shared 共享库统一管理,快照比对避免重复上传;所有 Next.js 站点自动受益 2026-07-02 11:25:33 +08:00
aiyimickey df27929294 feat: SSO 统一认证登录
- 更新 deploy-ai.sh 添加 OIDC 环境变量自动配置
2026-06-30 17:09:31 +08:00
aiyimickey 952706055a feat: deploy-ai.sh 新增 sso-ai 部署支持 + sites-manage-local.sh 新增 gitea
- deploy-ai.sh: 新增选项 9 sso-ai 部署、deploy_sso 函数、密钥生成、LDAP 密码注入
- sites-manage-local.sh: 新增 gitea 支持、localhost → 127.0.0.1
2026-06-29 18:40:02 +08:00
aiyimickey 4b65bfa850 feat: 完善备份和恢复脚本
- 新增备份脚本目录结构
- 新增站点独立备份脚本
- 新增完整备份脚本
- 新增数据库备份脚本
- 新增站点恢复脚本
- 新增完整恢复脚本
- 更新 README 文档
2026-06-23 10:59:41 +08:00
aiyimickey 502d1341fb fix: 备份脚本改用 docker cp 从容器内复制数据库文件
assets-ai 和 issue-ai 使用 Docker volume 存储数据,之前用 cp 从宿主机路径
复制拿到的是残留旧文件(assets.db 只有 4KB),改为 docker cp 确保拿到真实数据。
2026-05-18 14:57:19 +08:00
aiyimickey 78ff4b01b6 refactor: local.sh 更名为 sites-manage-local.sh,新增 sites-manage-cloud.sh 云端管理脚本
- local.sh → sites-manage-local.sh(重命名,职责更清晰)
- 新增 sites-manage-cloud.sh(云服务器站点启停管理)
- 更新 backup-db.sh、deploy-ai.sh、restore-db.sh
- 添加 .gitignore(忽略 .DS_Store)
2026-05-18 14:52:40 +08:00
aiyimickey 3efb7573ac docs: 创建 scripts 目录总览 README
介绍所有脚本的用途、用法、依赖关系和备份存储路径。
2026-05-15 16:33:16 +08:00
aiyimickey 8eff29e4f1 feat: 备份同时保存云端持久副本
云端 /root/docker/db-backups/ 与本地同步保留备份文件,
/tmp/db-backup/ 仅作传输中转,完成后清理。
2026-05-15 16:30:48 +08:00
aiyimickey cb0424c896 fix: 备份/恢复脚本统一用 better-sqlite3 替代 sqlite3 CLI
容器内没有 sqlite3 CLI(Alpine 基础镜像),统一改为 docker exec node -e
调用 better-sqlite3 执行 checkpoint 和验证。
2026-05-15 16:29:42 +08:00
aiyimickey 7c213873bb fix: 备份与恢复脚本深度修复
backup-db.sh:
- 新增备份后 SQLite 文件有效性验证(scp 传输后检查)

restore-db.sh (云端恢复):
- 修复:验证用 docker cp + docker exec sqlite3,不再依赖宿主机 sqlite3
- 修复:先停止容器再替换数据库,防止写入冲突
- 修复:替换后删除 WAL/SHM 残留文件,防止旧日志与新库不匹配损坏
2026-05-15 16:24:41 +08:00
aiyimickey d65583f6df fix: 备份前执行 WAL checkpoint + 确保本地目录存在
- 复制数据库文件前通过 docker exec sqlite3 执行 PRAGMA wal_checkpoint(TRUNCATE),
  确保 WAL 内容合并到 .db 主文件,避免备份不一致或损坏
- 添加 mkdir -p 确保本地备份目录存在
2026-05-15 16:19:15 +08:00
aiyimickey f3373d6f9a docs: 更新连通性检查文档 — 重试机制 + 双向检查 2026-05-15 15:21:33 +08:00
aiyimickey ccc0f5800d feat: 连通性检查加重试机制 + 新增 assets→issue 方向检查
- 两边检查均自带 3 次重试(间隔 10s),应对同时部署时目标容器暂不可达
- 新增 assets→issue API 连通性检查,与 issue→assets 对称
2026-05-15 15:18:57 +08:00
aiyimickey a7e0651bd5 docs: 新增 deploy-ai.sh README 与部署连通性检查(v2026.05.14)
- [新增] deploy-ai-readme.md 完整文档
- [新增] deploy-ai.sh 部署后自动验证 issue→assets API 连通性
2026-05-15 09:18:55 +08:00