updateweb
This commit is contained in:
@@ -1,64 +1,91 @@
|
||||
#!/bin/bash
|
||||
# Website Deployment Script
|
||||
# Syncs files from git repository to /var/www/skyartshop/
|
||||
# Website Consolidation and Full Deployment Script
|
||||
# Deploys from /media/pts/Website/SkyArtShop/website to /var/www/skyartshop
|
||||
|
||||
set -e # Exit on error
|
||||
|
||||
REPO_DIR="/media/pts/Website/SkyArtShop"
|
||||
DEV_DIR="$REPO_DIR/website"
|
||||
DEPLOY_DIR="/var/www/skyartshop"
|
||||
BACKUP_DIR="/var/www/backups/skyartshop-$(date +%Y%m%d-%H%M%S)"
|
||||
|
||||
echo "========================================="
|
||||
echo " SkyArtShop Website Deployment"
|
||||
echo " Sky Art Shop - Full Website Deployment"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "📁 Repository: $REPO_DIR"
|
||||
echo "🌐 Deploy to: $DEPLOY_DIR"
|
||||
echo "📁 Source (Dev): $DEV_DIR"
|
||||
echo "🌐 Destination: $DEPLOY_DIR"
|
||||
echo "💾 Backup: $BACKUP_DIR"
|
||||
echo ""
|
||||
|
||||
# Check if we're in the repo directory
|
||||
if [ ! -d "$REPO_DIR/.git" ]; then
|
||||
echo "❌ Error: Not in git repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$REPO_DIR"
|
||||
|
||||
# Show current branch
|
||||
CURRENT_BRANCH=$(git branch --show-current)
|
||||
echo "🔀 Current branch: $CURRENT_BRANCH"
|
||||
# Create backup
|
||||
echo "📦 Creating backup of current production..."
|
||||
sudo mkdir -p "$BACKUP_DIR"
|
||||
sudo cp -r "$DEPLOY_DIR" "$BACKUP_DIR/" 2>/dev/null || true
|
||||
echo "✅ Backup created"
|
||||
echo ""
|
||||
|
||||
# Copy/sync website files
|
||||
echo "📦 Deploying website files..."
|
||||
# Deploy files
|
||||
echo "🚀 Deploying website files..."
|
||||
|
||||
# Create website directory structure in repo if it doesn't exist
|
||||
mkdir -p website/public
|
||||
mkdir -p website/admin
|
||||
mkdir -p website/assets
|
||||
mkdir -p website/uploads
|
||||
# Deploy public frontend
|
||||
echo " → Public pages..."
|
||||
sudo rm -rf "$DEPLOY_DIR/public"
|
||||
sudo mkdir -p "$DEPLOY_DIR/public"
|
||||
sudo cp -r "$DEV_DIR/public/"* "$DEPLOY_DIR/public/" 2>/dev/null || true
|
||||
echo " ✓ Public pages deployed"
|
||||
|
||||
# Copy current live files to repo for version control (first time setup)
|
||||
if [ ! -f "website/public/shop.html" ]; then
|
||||
echo "📥 First time setup - copying live files to repository..."
|
||||
cp -r $DEPLOY_DIR/public/* website/public/ 2>/dev/null || true
|
||||
cp -r $DEPLOY_DIR/admin/* website/admin/ 2>/dev/null || true
|
||||
cp -r $DEPLOY_DIR/assets/* website/assets/ 2>/dev/null || true
|
||||
echo "✅ Files copied to repository"
|
||||
echo ""
|
||||
echo "⚠️ Please commit these files to git:"
|
||||
echo " git add website/"
|
||||
echo " git commit -m 'Add website files to repository'"
|
||||
echo ""
|
||||
fi
|
||||
# Deploy admin panel
|
||||
echo " → Admin panel..."
|
||||
sudo rm -rf "$DEPLOY_DIR/admin"
|
||||
sudo mkdir -p "$DEPLOY_DIR/admin"
|
||||
sudo cp -r "$DEV_DIR/admin/"* "$DEPLOY_DIR/admin/" 2>/dev/null || true
|
||||
echo " ✓ Admin panel deployed"
|
||||
|
||||
# Deploy from repository to live site
|
||||
echo "🚀 Deploying to live site..."
|
||||
# Deploy assets
|
||||
echo " → Assets..."
|
||||
sudo rm -rf "$DEPLOY_DIR/assets"
|
||||
sudo mkdir -p "$DEPLOY_DIR/assets"
|
||||
sudo cp -r "$DEV_DIR/assets/"* "$DEPLOY_DIR/assets/" 2>/dev/null || true
|
||||
echo " ✓ Assets deployed"
|
||||
|
||||
# Sync public files
|
||||
rsync -av --delete website/public/ $DEPLOY_DIR/public/ 2>/dev/null || cp -r website/public/* $DEPLOY_DIR/public/
|
||||
# Create uploads directory if it doesn't exist
|
||||
sudo mkdir -p "$DEPLOY_DIR/uploads"
|
||||
sudo mkdir -p "$DEPLOY_DIR/uploads/products"
|
||||
sudo mkdir -p "$DEPLOY_DIR/uploads/portfolio"
|
||||
sudo mkdir -p "$DEPLOY_DIR/uploads/blog"
|
||||
|
||||
# Sync admin files
|
||||
rsync -av --delete website/admin/ $DEPLOY_DIR/admin/ 2>/dev/null || cp -r website/admin/* $DEPLOY_DIR/admin/
|
||||
echo ""
|
||||
echo "🔒 Setting permissions..."
|
||||
sudo chown -R pts:pts "$DEPLOY_DIR"
|
||||
sudo chmod -R 755 "$DEPLOY_DIR"
|
||||
sudo chmod -R 775 "$DEPLOY_DIR/uploads"
|
||||
|
||||
echo ""
|
||||
echo "🔄 Reloading nginx..."
|
||||
sudo nginx -t && sudo systemctl reload nginx
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo " ✅ Deployment Complete!"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "🌐 Your website is accessible at:"
|
||||
echo " • https://skyarts.ddns.net"
|
||||
echo " • http://localhost"
|
||||
echo ""
|
||||
echo "🔐 Admin Panel:"
|
||||
echo " • https://skyarts.ddns.net/admin/login.html"
|
||||
echo " • http://localhost:5000/admin/login.html"
|
||||
echo ""
|
||||
echo "⚙️ Backend API:"
|
||||
echo " • Port 5000 (PM2: skyartshop)"
|
||||
echo " • Status: pm2 status"
|
||||
echo ""
|
||||
echo "💡 Note: localhost and skyarts.ddns.net both serve"
|
||||
echo " the same website - they're just different URLs"
|
||||
echo " pointing to the same content."
|
||||
echo ""
|
||||
|
||||
# Sync assets (but don't delete to preserve any user uploads)
|
||||
rsync -av website/assets/ $DEPLOY_DIR/assets/ 2>/dev/null || cp -r website/assets/* $DEPLOY_DIR/assets/
|
||||
|
||||
Reference in New Issue
Block a user