Go to file
aiyimickey 1232efa191 fix: 部署脚本 .env 文件设置 600 权限(防止密码泄露) 2026-07-03 14:13:24 +08:00
backup feat: 完善备份和恢复脚本 2026-06-23 10:59:41 +08:00
.gitignore refactor: local.sh 更名为 sites-manage-local.sh,新增 sites-manage-cloud.sh 云端管理脚本 2026-05-18 14:52:40 +08:00
README.md feat: 完善备份和恢复脚本 2026-06-23 10:59:41 +08:00
deploy-ai-readme.md docs: 更新连通性检查文档 — 重试机制 + 双向检查 2026-05-15 15:21:33 +08:00
deploy-ai.sh fix: 部署脚本 .env 文件设置 600 权限(防止密码泄露) 2026-07-03 14:13:24 +08:00
deploy-cc.sh docs: 新增 deploy-ai.sh README 与部署连通性检查(v2026.05.14) 2026-05-15 09:18:55 +08:00
deploy-monitor.sh refactor: shared 共享库统一管理,快照比对避免重复上传;所有 Next.js 站点自动受益 2026-07-02 11:25:33 +08:00
edit-site-cc.sh docs: 新增 deploy-ai.sh README 与部署连通性检查(v2026.05.14) 2026-05-15 09:18:55 +08:00
monitor-watchdog.sh security: monitor-watchdog.sh 移除硬编码 webhook key,改为从 env/.env/数据库读取 2026-07-02 11:27:20 +08:00
sites-manage-cloud.sh fix: 修复站点管理脚本状态检测问题 2026-07-02 18:36:55 +08:00
sites-manage-local.sh fix: 修复站点管理脚本状态检测问题 2026-07-02 18:36:55 +08:00

README.md

Scripts — 部署与运维脚本

多站点 Docker 项目的运维脚本集合,涵盖本地开发管理、云服务器运维、云端部署、数据库备份恢复。

脚本清单

部署与管理

脚本 用途 目标环境
sites-manage-local.sh 本地站点启停npm run dev + Docker 本地
sites-manage-cloud.sh 云服务器站点启停SSH / 服务器本地运行) 云端
deploy-ai.sh 部署站点到 tlyq.aitxjp 服务器) 云端
deploy-cc.sh 部署站点到 tlyq.cctgz 服务器) 云端
edit-site-cc.sh www.tlyq.cc 官网内容管理 云端

备份与恢复(backup/ 目录)

脚本 用途 说明
backup/backup-sites.sh 站点独立备份 推荐:按站点独立打包
backup/backup-db.sh 仅数据库备份 轻量快速
backup/backup-full.sh 完整灾难恢复备份 包含所有数据
backup/restore-sites.sh 站点恢复 交互式选择恢复
backup/restore-db.sh 数据库恢复 恢复单个数据库
backup/restore-full.sh 完整恢复 灾难恢复使用

详细文档见 backup/README.md


sites-manage-local.sh — 本地站点管理

bash scripts/sites-manage-local.sh start           # 启动全部
bash scripts/sites-manage-local.sh start ai        # 启动 ai 全部
bash scripts/sites-manage-local.sh start ldap oa   # 启动指定站点
bash scripts/sites-manage-local.sh stop oa         # 停止指定站点
bash scripts/sites-manage-local.sh restart ldap    # 重启指定站点
bash scripts/sites-manage-local.sh status          # 查看状态

站点启动方式:

站点 方式 端口
ldap Docker 6178Web UI、3890LDAP
oa npm run dev(宿主机) 6179
issue npm run dev(宿主机) 6176
assets npm run dev(宿主机) 6177
www / cloud / token Docker 61736175

sites-manage-cloud.sh — 云服务器站点管理

bash scripts/sites-manage-cloud.sh start ai        # 启动全部
bash scripts/sites-manage-cloud.sh restart nginx   # 重启 nginx
bash scripts/sites-manage-cloud.sh stop oa issue   # 停指定站点
bash scripts/sites-manage-cloud.sh status          # 查看状态

自动检测运行环境:本地 Mac 运行时通过 SSH 操作 txjp在云服务器上运行时直接操作本地 Docker。也可显式指定

OA_REMOTE=local bash scripts/sites-manage-cloud.sh status   # 强制本地模式
OA_REMOTE=ssh bash scripts/sites-manage-cloud.sh status     # 强制 SSH 模式

站点全部以 Docker 方式运行,依赖关系:ldap → oa / issue / assets → nginx

deploy-ai.sh — tlyq.ai 部署

bash scripts/deploy-ai.sh             # 自动检测:增量 or 完整构建
bash scripts/deploy-ai.sh --force     # 强制完整构建
bash scripts/deploy-ai.sh --restart   # 仅重启容器

交互式选择站点17www / cloud / token / issue / assets / oa / ldap。

流程:源码打包 → 上传 → 服务器 npm installnpm run build → 容器重建。部署后自动验证。

LDAP 部署特殊处理:上传 Dockerfile + docker-compose.yml自动创建 .env去除端口映射--build 构建含 sqlite3 的镜像。

backup/ — 备份与恢复

# 站点独立备份(推荐)
bash scripts/backup/backup-sites.sh              # 备份所有站点
bash scripts/backup/backup-sites.sh assets issue # 备份指定站点

# 恢复
bash scripts/backup/restore-sites.sh             # 交互式恢复
bash scripts/backup/restore-sites.sh 20260622_101858  # 指定时间戳

# 数据库单独备份
bash scripts/backup/backup-db.sh

支持站点:assets / issue / ldap / gitea / oa

备份内容:数据库 + 上传文件 + 配置文件 + nginx + SSL 证书

详细文档见 backup/README.md

备份存储路径

位置 路径
云端持久备份 /root/docker/db-backups/
本地备份 db-backups/

依赖

  • 本地macOS / Linuxbashssh配置 txjptgz 别名scpdockersqlite3
  • 云端Docker ComposeNode.jsbetter-sqlite3