- 完整的前后端代码 - 支持本地存储和SFTP存储 - 文件分享功能 - 上传工具源代码 - 完整的部署文档 - Nginx配置模板 技术栈: - 后端: Node.js + Express + SQLite - 前端: Vue.js 3 + Axios - 存储: 本地存储 / SFTP远程存储
111 lines
2.6 KiB
Bash
111 lines
2.6 KiB
Bash
#!/bin/bash
|
||
|
||
# 玩玩云一键部署脚本
|
||
# 使用方法: bash deploy.sh
|
||
|
||
set -e
|
||
|
||
echo "========================================="
|
||
echo " 玩玩云 - 一键部署脚本"
|
||
echo "========================================="
|
||
echo ""
|
||
|
||
# 检查Docker
|
||
if ! command -v docker &> /dev/null; then
|
||
echo "❌ 错误: Docker未安装"
|
||
echo "请先安装Docker: https://docs.docker.com/engine/install/"
|
||
exit 1
|
||
fi
|
||
|
||
# 检查Docker Compose
|
||
if ! command -v docker-compose &> /dev/null; then
|
||
echo "❌ 错误: Docker Compose未安装"
|
||
echo "请先安装Docker Compose: https://docs.docker.com/compose/install/"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✓ Docker版本: $(docker --version)"
|
||
echo "✓ Docker Compose版本: $(docker-compose --version)"
|
||
echo ""
|
||
|
||
# 检查必要的目录
|
||
echo "📁 检查项目结构..."
|
||
REQUIRED_DIRS=("backend" "frontend" "nginx")
|
||
for dir in "${REQUIRED_DIRS[@]}"; do
|
||
if [ ! -d "$dir" ]; then
|
||
echo "❌ 错误: 缺少 $dir 目录"
|
||
exit 1
|
||
fi
|
||
done
|
||
echo "✓ 项目结构完整"
|
||
echo ""
|
||
|
||
# 创建必要的目录
|
||
echo "📂 创建必要的目录..."
|
||
mkdir -p certbot/conf
|
||
mkdir -p certbot/www
|
||
mkdir -p backend/uploads
|
||
echo "✓ 目录创建完成"
|
||
echo ""
|
||
|
||
# 检查.env文件
|
||
if [ ! -f "backend/.env" ]; then
|
||
echo "⚠️ 警告: backend/.env 文件不存在"
|
||
if [ -f "backend/.env.example" ]; then
|
||
echo "正在从.env.example创建.env文件..."
|
||
cp backend/.env.example backend/.env
|
||
echo "✓ 已创建.env文件,请根据需要修改配置"
|
||
else
|
||
echo "⚠️ 建议创建.env文件配置JWT密钥等参数"
|
||
fi
|
||
echo ""
|
||
fi
|
||
|
||
# 停止旧容器
|
||
echo "🔄 停止旧容器..."
|
||
docker-compose down 2>/dev/null || true
|
||
echo "✓ 旧容器已停止"
|
||
echo ""
|
||
|
||
# 构建并启动
|
||
echo "🚀 构建并启动服务..."
|
||
docker-compose up --build -d
|
||
|
||
# 等待服务启动
|
||
echo ""
|
||
echo "⏳ 等待服务启动..."
|
||
sleep 5
|
||
|
||
# 检查容器状态
|
||
echo ""
|
||
echo "📊 检查容器状态..."
|
||
docker-compose ps
|
||
|
||
# 检查后端日志
|
||
echo ""
|
||
echo "📝 后端启动日志:"
|
||
docker-compose logs --tail=20 backend
|
||
|
||
# 显示访问信息
|
||
echo ""
|
||
echo "========================================="
|
||
echo " 🎉 部署完成!"
|
||
echo "========================================="
|
||
echo ""
|
||
echo "📍 访问地址:"
|
||
echo " 前端: http://localhost:8080"
|
||
echo " 后端API: http://localhost:40001"
|
||
echo ""
|
||
echo "👤 默认管理员账号:"
|
||
echo " 用户名: admin"
|
||
echo " 密码: admin123"
|
||
echo " ⚠️ 请立即登录并修改密码!"
|
||
echo ""
|
||
echo "📚 查看日志:"
|
||
echo " docker-compose logs -f"
|
||
echo ""
|
||
echo "🛑 停止服务:"
|
||
echo " docker-compose down"
|
||
echo ""
|
||
echo "========================================="
|