✨ 新增功能: - 新增 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仓库构建部署文档 - 提供一键部署解决方案
73 lines
2.1 KiB
Bash
Executable File
73 lines
2.1 KiB
Bash
Executable File
#!/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 "🎉 部署完成!"
|