Add website file management workflow and deployment script

This commit is contained in:
Local Server
2025-12-13 22:59:42 -06:00
parent f3c1157d7e
commit dce6460994
35 changed files with 8858 additions and 0 deletions

82
deploy-website.sh Executable file
View File

@@ -0,0 +1,82 @@
#!/bin/bash
# Website Deployment Script
# Syncs files from git repository to /var/www/skyartshop/
set -e # Exit on error
REPO_DIR="/media/pts/Website/SkyArtShop"
DEPLOY_DIR="/var/www/skyartshop"
echo "========================================="
echo " SkyArtShop Website Deployment"
echo "========================================="
echo ""
echo "📁 Repository: $REPO_DIR"
echo "🌐 Deploy to: $DEPLOY_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"
echo ""
# Copy/sync website 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
# 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 from repository to live site
echo "🚀 Deploying to live site..."
# Sync public files
rsync -av --delete website/public/ $DEPLOY_DIR/public/ 2>/dev/null || cp -r website/public/* $DEPLOY_DIR/public/
# Sync admin files
rsync -av --delete website/admin/ $DEPLOY_DIR/admin/ 2>/dev/null || cp -r website/admin/* $DEPLOY_DIR/admin/
# 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/
# Fix permissions
chown -R pts:pts $DEPLOY_DIR/public $DEPLOY_DIR/admin $DEPLOY_DIR/assets 2>/dev/null || true
chmod -R 644 $DEPLOY_DIR/public/*.html $DEPLOY_DIR/admin/*.html 2>/dev/null || true
echo ""
echo "========================================="
echo "✅ Deployment Complete!"
echo "========================================="
echo ""
echo "🌐 Website: https://skyarts.ddns.net"
echo "🔐 Admin: https://skyarts.ddns.net/admin"
echo ""
echo "📝 Next steps:"
echo " 1. Edit files in: $REPO_DIR/website/"
echo " 2. Run this script to deploy"
echo " 3. Commit changes: git add . && git commit -m 'Update website'"
echo ""