fc9371e44316d117e6ca2e50c24e4e7cc9c29e0c
## 🏗️ 新增功能 - **shared/**: 完整的基础组件部署方案 - docker-compose.yml: 统一编排所有基础服务 - .env.example: 标准化环境变量配置 - prometheus/prometheus.yml: 监控配置 - bin/up.sh & down.sh: 一键部署脚本 - README.md: 完整的使用文档 ## 🛠️ 核心服务 - **数据库层**: PostgreSQL 16 + MySQL 8 (统一密码: 123456) - **缓存层**: Redis 7 (密码: 123456) - **代码管理**: GitLab CE + Gitea (双代码仓库) - **镜像仓库**: Harbor (Docker Registry) - **监控层**: Prometheus + Grafana + cAdvisor - **网关反代**: Traefik v3.1 ## 🔧 技术优化 - 所有端口统一使用 2xx80 系列,避免端口冲突 - 统一网络架构 (core network),支持多项目接入 - 完善的健康检查和服务依赖配置 - 支持 ARM64 架构 (MySQL 8 兼容性修复) ## 📚 文档更新 - SYSTEM-CONFIG.md: 系统配置文档完善 - harbor/README.md: Harbor 模块使用说明 - docs/: 完整的部署和运维文档 ## 🚀 部署说明 所有服务已成功启动并通过验证: - GitLab: http://localhost:28082 (root/SecurePass2024!) - Gitea: http://localhost:23000 - Harbor: http://localhost:28081 - Grafana: http://localhost:23001 (admin/123456) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
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
75.8%
Ruby
15.6%
Python
7.4%
Dockerfile
0.7%
TypeScript
0.2%
Other
0.1%