jmalcloud/build-from-git.sh
chenpei 0d9ae59e19 🐳 添加Git仓库Docker构建支持
✨ 新增功能:
- 新增 Dockerfile.git 支持从Git仓库构建
- 新增 docker-compose.git.yml 配置文件
- 新增 build-from-git.sh 一键部署脚本
- 更新 docker-entrypoint.sh 适配新构建方式
- 更新 README.md 添加Git构建说明

🔧 配置更新:
- 支持从 https://git.1080p.hk/chenpei/jmalcloud 自动构建
- 优化构建流程和容器启动脚本
- 添加完整的Docker健康检查

📖 文档更新:
- 添加Git仓库构建部署文档
- 提供一键部署解决方案
2025-08-24 11:21:48 +08:00

73 lines
2.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# JmalCloud Git构建和部署脚本
set -e
echo "🚀 JmalCloud Git构建和部署脚本"
echo "=================================="
# 检查Docker是否已安装
if ! command -v docker &> /dev/null; then
echo "❌ 错误:Docker未安装,请先安装Docker"
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "❌ 错误:Docker Compose未安装,请先安装Docker Compose"
exit 1
fi
# 创建必要的目录
echo "📁 创建数据目录..."
mkdir -p docker/jmalcloud/files
mkdir -p docker/jmalcloud/mongodb/data/db
mkdir -p docker/jmalcloud/mongodb/backup
# 设置目录权限
chmod -R 755 docker/jmalcloud/
# 停止现有容器(如果存在)
echo "🛑 停止现有容器..."
docker-compose -f docker-compose.git.yml down || echo "未发现正在运行的容器"
# 清理旧镜像(可选)
read -p "🗑️ 是否清理旧的构建镜像?(y/N): " cleanup
if [[ $cleanup =~ ^[Yy]$ ]]; then
echo "清理旧镜像..."
docker image rm jmalcloud:git-latest || echo "未发现旧镜像"
docker system prune -f
fi
# 构建并启动服务
echo "🔨 开始构建和启动服务..."
docker-compose -f docker-compose.git.yml up -d --build
# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 10
# 检查服务状态
echo "🔍 检查服务状态..."
docker-compose -f docker-compose.git.yml ps
# 显示日志
echo "📋 显示服务日志(按 Ctrl+C 退出)..."
echo "=================================="
echo "✅ 服务已启动!"
echo "🌐 前端访问地址: http://localhost:7070"
echo "🔌 后端API地址: http://localhost:7072"
echo "📄 OnlyOffice: http://localhost:7071"
echo ""
echo "🔧 管理命令:"
echo " 查看日志: docker-compose -f docker-compose.git.yml logs -f"
echo " 停止服务: docker-compose -f docker-compose.git.yml down"
echo " 重启服务: docker-compose -f docker-compose.git.yml restart"
echo ""
# 询问是否查看日志
read -p "🔍 是否查看实时日志?(y/N): " viewlogs
if [[ $viewlogs =~ ^[Yy]$ ]]; then
docker-compose -f docker-compose.git.yml logs -f
fi
echo "🎉 部署完成!"