master
## 新增功能 ### 1. 生产级镜像预热脚本 - **preheat-images-pro.sh**: 修复所有旧版问题的生产级预热脚本 - 基于退出码判断成功(不再依赖 grep 输出) - 自动重试机制(最多3次,间隔递增) - 修正所有镜像路径(使用正确的项目名) - 使用 Robot 账号(移除硬编码密码) - 移除 ELK 镜像(使用 Loki 替代) - 超时保护(每个镜像最长5分钟) - 详细错误报告(JSON 格式输出) - **PREHEAT-GUIDE.md**: 完整的镜像预热使用指南 - 分组预热支持(k8s/monitoring/loki/tempo/otel/database/base) - 性能对比和最佳实践 - 常见问题排查 ### 2. Registry Mirrors 配置 - **configure-containerd-mirrors.sh**: 配置 OrbStack containerd 使用 Harbor 作为多 registry 的 mirror - 支持 docker.io、registry.k8s.io、quay.io、ghcr.io - 自动创建 hosts.toml 配置文件 - K8s YAML 可使用标准路径,自动通过 Harbor 拉取 - **REGISTRY-MIRRORS-SUCCESS.md**: 配置成功验证和使用说明 - 性能提升验证(3.3倍加速) - 工作原理说明 - 维护指南 ## 测试结果 - 预热 23 个核心镜像(K8s + 监控 + 日志)成功率 100% - Registry mirrors 配置后,标准路径拉取速度提升 3.3 倍 - 所有配置文件已移除硬编码密码,使用环境变量 ## 相关文件 - preheat-images-pro.sh(主脚本) - preheat-images-v2.sh(中间版本) - PREHEAT-GUIDE.md(使用指南) - configure-containerd-mirrors.sh(Registry mirrors 配置) - REGISTRY-MIRRORS-SUCCESS.md(配置验证) - preheat-report-20251213-122836.json(预热报告) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
dify_github
@ c7980d1b48
lmrouter
@ 9f3650db56
lmstudio-cli
@ 42c4bf356c
macOS 工具集
概述
这是一个 macOS 系统管理工具集,包含各种系统维护、配置和自动化脚本。
项目结构
~/ops/
├── logs/ # 统一日志目录
├── backups/ # 统一备份目录
│ ├── brew/ # Homebrew 备份
│ ├── gitea/ # Gitea 备份
│ ├── harbor/ # Harbor 备份
│ └── gitlab/ # GitLab 备份
├── data/ # 运行时数据目录
│ ├── gitea/ # Gitea 运行时数据
│ ├── harbor/ # Harbor 运行时数据
│ └── gitlab/ # GitLab 运行时数据
├── brew/ # Homebrew 维护模块
├── gitea/ # Gitea 维护模块
├── harbor/ # Harbor 维护模块
├── gitlab/ # GitLab 维护模块
└── README.md # 项目总文档
模块说明
🍺 Homebrew 模块 (brew/)
完整的 Homebrew 自动化维护系统,支持每日自动更新、备份和一键恢复功能。
功能特性:
- ✅ 每日自动更新和升级
- ✅ 自动备份和恢复
- ✅ 定时任务管理
- ✅ 详细日志记录
快速开始:
# 创建目录结构
mkdir -p ~/ops/{logs,backups}
# 设置权限和定时任务
chmod +x ~/ops/brew/brew_maintain.sh
launchctl load -w ~/Library/LaunchAgents/com.ljwx.brew.maintenance.plist
# 测试运行
~/ops/brew/brew_maintain.sh
详细文档请查看 brew/README.md
🐙 Gitea 模块 (gitea/)
完整的 Gitea Git 服务器管理解决方案,包括 Docker 部署、自动备份、健康监控和一键恢复功能。
功能特性:
- ✅ Docker Compose 一键部署
- ✅ 双重定时任务保障 (cron + launchd)
- ✅ 安全备份和恢复机制
- ✅ 实时健康监控
- ✅ 灵活的环境变量配置
- ✅ macOS 原生集成
快速开始:
# 进入 Gitea 模块目录
cd gitea/
# 初始化设置
./gitea-data-protection.sh setup
# 启动服务
./gitea-data-protection.sh start
# 访问 Gitea
open http://192.168.1.83:33000
详细文档请查看 gitea/README.md
🐙 Harbor 模块 (harbor/)
完整的 Harbor 容器镜像仓库管理解决方案,支持服务部署、自动备份、健康监控和数据迁移功能。
功能特性:
- ✅ Docker Compose 快速部署
- ✅ 自动备份和安全恢复
- ✅ 实时健康监控
- ✅ 数据无损迁移支持
- ✅ 双重定时任务保障
- ✅ macOS 原生集成
快速开始:
# 进入 Harbor 模块目录
cd harbor/
# 复制环境配置文件
cp .env.example .env
# 启动服务
./harbor-data-protection.sh start
# 访问 Harbor
open http://192.168.1.83:8080
详细文档请查看 harbor/README.md
🦊 GitLab 模块 (gitlab/)
完整的 GitLab 代码托管平台管理解决方案,包括服务部署、自动备份、健康监控和数据迁移功能。
功能特性:
- ✅ Docker Compose 快速部署
- ✅ 自动备份和安全恢复
- ✅ 实时健康监控
- ✅ 数据无损迁移支持
- ✅ GitLab Runner 集成
- ✅ macOS 原生集成
快速开始:
# 进入 GitLab 模块目录
cd gitlab/
# 复制环境配置文件
cp .env.example .env
# 启动服务(首次启动需要较长时间)
./gitlab-data-protection.sh start
# 等待服务启动完成后访问
open http://192.168.1.83:8890
详细文档请查看 gitlab/README.md
🚀 快速部署
一键部署
# 在项目根目录执行一键部署
./deploy.sh
部署脚本会自动:
- ✅ 创建完整的
~/ops/目录结构 - ✅ 复制所有模块文件到正确位置
- ✅ 设置适当的文件权限
- ✅ 创建环境配置文件
- ✅ 安装定时任务配置
- ✅ 验证部署结果
手动部署
# 执行初始化脚本
./init-ops.sh
部署后使用
Homebrew 模块:
cd ~/ops/brew
./brew_maintain.sh # 手动维护
Gitea 模块:
cd ~/ops/gitea
./gitea-data-protection.sh setup # 初始化设置
./gitea-data-protection.sh start # 启动服务
open http://192.168.1.83:33000 # 访问 Gitea
Harbor 模块:
cd ~/ops/harbor
./harbor-data-protection.sh start # 启动服务
open http://192.168.1.83:8080 # 访问 Harbor
GitLab 模块:
cd ~/ops/gitlab
./gitlab-data-protection.sh start # 启动服务
open http://192.168.1.83:8890 # 访问 GitLab
开发指南
添加新模块
- 在根目录创建新模块目录,如
mymodule/ - 编写模块脚本和文档
- 更新
init-ops.sh添加部署逻辑 - 更新本 README.md 文件
- 提交到版本控制
目录规范
logs/: 所有模块的统一日志目录backups/: 所有模块的统一备份目录- 每个模块包含自己的 README.md 文件
- 脚本命名规范:
{模块名}_{功能}.sh
提交规范
# 添加新模块
git add mymodule/
git commit -m "feat: 添加 {模块名} 模块"
# 更新现有模块
git add mymodule/script.sh
git commit -m "fix: 修复 {模块名} 脚本问题"
# 更新文档
git add README.md mymodule/README.md
git commit -m "docs: 更新文档"
环境要求
- macOS 10.15+ (Catalina 及以上)
- Apple Silicon 或 Intel 处理器
- Zsh 或 Bash shell
- Git (用于版本控制)
贡献指南
- Fork 本项目
- 创建功能分支:
git checkout -b feature/new-module - 提交更改:
git commit -m 'feat: 添加新功能' - 推送分支:
git push origin feature/new-module - 创建 Pull Request
许可证
MIT License - 可自由使用和修改
联系方式
如有问题或建议,请通过 Issues 或 Pull Request 联系。
Languages
Shell
58.2%
Ruby
29%
Python
12.8%