Files
macos-tools/shared/bin/down.sh
gaoandClaude fc9371e443 feat: 完成企业级 DevOps 基础设施部署
## 🏗️ 新增功能
- **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]>
2025-10-22 00:19:41 +08:00

95 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# 基础组件停止脚本
# 作者: Claude Code
# 版本: 1.0
set -e
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# 打印带颜色的消息
print_message() {
local color=$1
local message=$2
echo -e "${color}[基础组件部署]${NC} ${message}"
}
# 停止并移除服务
stop_services() {
print_message $BLUE "停止基础组件服务..."
docker compose down
print_message $BLUE "移除未使用的网络..."
docker network prune -f
print_message $GREEN "服务已停止"
}
# 清理数据 (可选)
cleanup_data() {
if [ "$1" = "--cleanup" ]; then
print_message $YELLOW "警告: 即将删除所有数据!"
read -p "确定要删除所有数据吗? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
print_message $BLUE "删除Docker卷..."
docker volume rm $(docker volume ls -q | grep -E "(pg_data|mysql_data|redis_data|gitea_data|harbor_data|prometheus_data|grafana_data)") 2>/dev/null || true
print_message $BLUE "删除数据目录..."
rm -rf data/
rm -rf acme/
print_message $GREEN "数据清理完成"
else
print_message $YELLOW "取消数据清理"
fi
fi
}
# 显示状态
show_status() {
print_message $BLUE "检查服务状态..."
docker compose ps
}
# 主函数
main() {
print_message $GREEN "开始停止基础组件..."
stop_services
cleanup_data "$1"
show_status
print_message $GREEN "基础组件已停止"
}
# 显示帮助信息
show_help() {
echo "用法: $0 [选项]"
echo ""
echo "选项:"
echo " --cleanup 清理所有数据 (Docker卷和数据目录)"
echo " -h, --help 显示此帮助信息"
echo ""
echo "示例:"
echo " $0 # 仅停止服务"
echo " $0 --cleanup # 停止服务并清理所有数据"
}
# 解析命令行参数
case "$1" in
-h|--help)
show_help
exit 0
;;
*)
main "$@"
;;
esac