Add deployment documentation and scripts

This commit is contained in:
austindebest
2026-04-20 00:03:32 +01:00
parent d62468adf9
commit 0665a66288
3 changed files with 451 additions and 0 deletions

108
deploy-dev.sh Normal file
View File

@@ -0,0 +1,108 @@
#!/bin/bash
# SDI SaaS Platform - Deployment Script for Dev Server
# Server: 102.69.243.165
# User: root
set -e
echo "🚀 SDI SaaS Platform - Dev Server Deployment"
echo "=============================================="
# Configuration
SERVER_IP="102.69.243.165"
SERVER_USER="root"
DEPLOY_PATH="/var/www/sdi-saas"
APP_NAME="sdi-saas"
echo "📦 Step 1: Preparing deployment package..."
# Create deployment archive (excluding node_modules and .git)
tar -czf sdi-deploy.tar.gz \
--exclude='node_modules' \
--exclude='.git' \
--exclude='dist' \
--exclude='*.log' \
--exclude='.env' \
.
echo "✅ Deployment package created"
echo "📤 Step 2: Uploading to server..."
# Upload to server
scp sdi-deploy.tar.gz ${SERVER_USER}@${SERVER_IP}:/tmp/
echo "✅ Files uploaded"
echo "🔧 Step 3: Deploying on server..."
# SSH into server and deploy
ssh ${SERVER_USER}@${SERVER_IP} << 'ENDSSH'
set -e
echo "Creating deployment directory..."
mkdir -p /var/www/sdi-saas
cd /var/www/sdi-saas
echo "Extracting files..."
tar -xzf /tmp/sdi-deploy.tar.gz -C /var/www/sdi-saas
echo "Installing dependencies..."
# Install Node.js 20 if not present
if ! command -v node &> /dev/null; then
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
fi
# Install pnpm if not present
if ! command -v pnpm &> /dev/null; then
npm install -g pnpm@8.15.0
fi
# Install dependencies
pnpm install --frozen-lockfile
echo "Setting up environment..."
# Copy environment files
cp apps/api/.env.example apps/api/.env
cp apps/worker/.env.example apps/worker/.env
cp packages/database/.env.example packages/database/.env
# Update DATABASE_URL for production
sed -i 's/localhost/postgres/g' apps/api/.env
sed -i 's/localhost/postgres/g' apps/worker/.env
sed -i 's/localhost/postgres/g' packages/database/.env
echo "Generating Prisma client..."
cd packages/database
pnpm db:generate
echo "Starting services with Docker Compose..."
cd /var/www/sdi-saas
docker-compose up -d
echo "Waiting for database to be ready..."
sleep 10
echo "Running database migrations..."
cd packages/database
pnpm db:migrate
echo "Seeding database..."
pnpm db:seed
echo "✅ Deployment complete!"
echo "API: http://102.69.243.165:3000"
echo "API Docs: http://102.69.243.165:3000/api/docs"
ENDSSH
echo "🎉 Deployment successful!"
echo ""
echo "Access your application:"
echo " API: http://102.69.243.165:3000"
echo " API Docs: http://102.69.243.165:3000/api/docs"
echo ""
echo "To check logs:"
echo " ssh root@102.69.243.165 'cd /var/www/sdi-saas && docker-compose logs -f'"