96 lines
3.1 KiB
Markdown
96 lines
3.1 KiB
Markdown
# Scripts — 部署与运维脚本
|
||
|
||
多站点 Docker 项目的运维脚本集合,涵盖本地开发管理、云端部署、数据库备份恢复、内容编辑等。
|
||
|
||
## 脚本清单
|
||
|
||
| 脚本 | 用途 | 目标环境 |
|
||
|------|------|---------|
|
||
| `local.sh` | 本地站点启停管理 | 本地 Docker |
|
||
| `deploy-ai.sh` | 部署站点到 tlyq.ai(txjp 服务器) | 云端 |
|
||
| `deploy-cc.sh` | 部署站点到 tlyq.cc(tgz 服务器) | 云端 |
|
||
| `edit-site-cc.sh` | www.tlyq.cc 官网内容管理(新闻、联系方式等) | 云端 |
|
||
| `backup-db.sh` | 备份 issue-ai 和 assets-ai 数据库 | 云端 → 本地 |
|
||
| `restore-db.sh` | 恢复数据库(本地或云端) | 本地 / 云端 |
|
||
|
||
## 详细说明
|
||
|
||
### local.sh — 本地站点管理
|
||
|
||
```bash
|
||
bash scripts/local.sh start # 启动所有站点
|
||
bash scripts/local.sh stop # 停止所有站点
|
||
bash scripts/local.sh restart issue # 重启指定站点
|
||
bash scripts/local.sh status # 查看运行状态
|
||
```
|
||
|
||
支持站点:www、cloud、token、issue、assets、ldap、oa。
|
||
|
||
启动前自动检查是否有线上域名残留,防止本地开发时跳转到生产环境。
|
||
|
||
### deploy-ai.sh — tlyq.ai 部署
|
||
|
||
```bash
|
||
bash scripts/deploy-ai.sh # 自动检测:增量 or 完整构建
|
||
bash scripts/deploy-ai.sh --force # 强制完整构建
|
||
bash scripts/deploy-ai.sh --restart # 仅重启容器
|
||
```
|
||
|
||
交互式选择站点后执行:源码打包 → 上传 → 服务器构建 → 容器重启。部署 issue/assets 后自动验证 API 连通性(带重试机制)。
|
||
|
||
> 详细文档见 [deploy-ai-readme.md](deploy-ai-readme.md)
|
||
|
||
### deploy-cc.sh — tlyq.cc 部署
|
||
|
||
```bash
|
||
bash scripts/deploy-cc.sh
|
||
```
|
||
|
||
交互式选择站点后部署到 tlyq.cc(tgz 服务器),逻辑与 deploy-ai.sh 类似。
|
||
|
||
### edit-site-cc.sh — tlyq.cc 官网内容编辑
|
||
|
||
```bash
|
||
bash scripts/edit-site-cc.sh
|
||
```
|
||
|
||
交互式菜单编辑 www.tlyq.cc 的联系方式、新闻动态、时间线等内容,修改后自动部署。
|
||
|
||
### backup-db.sh — 数据库备份
|
||
|
||
```bash
|
||
bash scripts/backup-db.sh
|
||
```
|
||
|
||
一键备份 issue-ai 和 assets-ai 的生产数据库:
|
||
|
||
1. 执行 WAL checkpoint 确保数据一致性
|
||
2. 在云端 `/root/docker/db-backups/` 保留一份
|
||
3. 下载到本地 `~/programs/docker/db-backups/`
|
||
4. 验证备份文件为有效 SQLite 数据库
|
||
|
||
### restore-db.sh — 数据库恢复
|
||
|
||
```bash
|
||
# 恢复本地数据库
|
||
bash scripts/restore-db.sh local issue issue-20260515_163059.db
|
||
|
||
# 恢复云端数据库
|
||
bash scripts/restore-db.sh cloud assets assets-20260515_163059.db
|
||
```
|
||
|
||
恢复流程:停止容器 → 备份当前库 → 替换 → 清理 WAL/SHM → 启动 → 验证。支持 `issue` 和 `assets` 两个服务。
|
||
|
||
## 备份存储路径
|
||
|
||
| 位置 | 路径 |
|
||
|------|------|
|
||
| 云端持久备份 | `/root/docker/db-backups/` |
|
||
| 本地备份 | `~/programs/docker/db-backups/` |
|
||
| 云端临时(传输中) | `/tmp/db-backup/`(完成后清理) |
|
||
|
||
## 依赖
|
||
|
||
- **本地**:macOS / Linux,bash,ssh(配置 `txjp` 和 `tgz` 别名),scp,docker
|
||
- **云端**:Docker Compose,Node.js,better-sqlite3
|