69 lines
1.4 KiB
Bash
Executable File
69 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 部署脚本
|
|
# 使用方法: ./deploy.sh
|
|
|
|
echo "========================================="
|
|
echo "部署 由壹点3D素材 到 TrueNAS 服务器"
|
|
echo "========================================="
|
|
|
|
# NAS 服务器配置
|
|
NAS_HOST="192.168.58.20"
|
|
NAS_USER="root"
|
|
NAS_PROJECT_PATH="/mnt/PoolOne/apps/youyidian-3d"
|
|
|
|
echo "1. 打包项目文件..."
|
|
tar -czf project.tar.gz \
|
|
--exclude='node_modules' \
|
|
--exclude='.next' \
|
|
--exclude='.git' \
|
|
--exclude='uploads' \
|
|
--exclude='.env.local' \
|
|
.
|
|
|
|
echo "2. 上传到 NAS 服务器..."
|
|
scp project.tar.gz ${NAS_USER}@${NAS_HOST}:/tmp/
|
|
|
|
echo "3. 在 NAS 服务器上部署..."
|
|
ssh ${NAS_USER}@${NAS_HOST} << 'ENDSSH'
|
|
# 创建项目目录
|
|
mkdir -p /mnt/PoolOne/apps/youyidian-3d
|
|
cd /mnt/PoolOne/apps/youyidian-3d
|
|
|
|
# 解压项目
|
|
tar -xzf /tmp/project.tar.gz
|
|
|
|
# 清理临时文件
|
|
rm /tmp/project.tar.gz
|
|
|
|
# 停止旧容器
|
|
docker-compose down
|
|
|
|
# 构建并启动新容器
|
|
docker-compose up -d --build
|
|
|
|
# 等待容器启动
|
|
echo "等待容器启动..."
|
|
sleep 10
|
|
|
|
# 运行数据库迁移
|
|
docker-compose exec -T app npx prisma db push --accept-data-loss
|
|
|
|
# 查看容器状态
|
|
docker-compose ps
|
|
|
|
# 查看容器日志
|
|
echo "最近的日志:"
|
|
docker-compose logs --tail=50
|
|
|
|
ENDSSH
|
|
|
|
echo "4. 清理本地临时文件..."
|
|
rm project.tar.gz
|
|
|
|
echo "========================================="
|
|
echo "部署完成!"
|
|
echo "访问地址: http://192.168.58.20:4320"
|
|
echo "========================================="
|
|
|