51 lines
1.9 KiB
Bash
Executable File
51 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Define environment variables
|
|
COMPOSE_FILE="docker-compose.first.yml"
|
|
|
|
echo "🚀 Starting WordPress Deployment Process..."
|
|
|
|
# Step 0: **Reset Environment** - Stop and remove volumes
|
|
echo "🧹 Cleaning up existing containers and volumes..."
|
|
docker compose down -v
|
|
|
|
# Step 1: Build custom WordPress image
|
|
echo "🔧 Building custom WordPress image..."
|
|
docker compose -f "$COMPOSE_FILE" build
|
|
|
|
# Step 2: Install or upgrade WordPress volume
|
|
echo "📦 Installing or upgrading WordPress volume..."
|
|
docker compose -f "$COMPOSE_FILE" up -d
|
|
|
|
# Step 3: Stop WordPress container (keep HTML volume)
|
|
echo "⏹️ Stopping WordPress container (keeping data)..."
|
|
docker compose -f "$COMPOSE_FILE" down
|
|
|
|
# Step 4: Start production environment
|
|
echo "🚀 Launching production environment..."
|
|
docker compose up -d
|
|
|
|
# Step 5: Source .env and extract the first VIRTUAL_HOST address
|
|
if [ -f .env ]; then
|
|
set -o allexport
|
|
source .env
|
|
set +o allexport
|
|
|
|
# Extract only the first address from VIRTUAL_HOST
|
|
FIRST_VIRTUAL_HOST=$(echo "$VIRTUAL_HOST" | cut -d',' -f1)
|
|
|
|
echo "✅ WordPress deployment complete! Site is live at: https://${FIRST_VIRTUAL_HOST}"
|
|
else
|
|
echo "⚠️ .env file not found, VIRTUAL_HOST could not be displayed."
|
|
fi
|
|
|
|
# Step 6: Copy new WordPress content after deployment
|
|
echo "📂 Copying new WordPress content to wp-content and correct permissions..."
|
|
docker compose exec wordpress_${COMPOSE_PROJECT_NAME} bash -c "cp -a /var/www/html/wp-content-new/* /var/www/html/wp-content/"
|
|
docker compose exec wordpress_${COMPOSE_PROJECT_NAME} bash -c "/usr/bin/find /var/www/html/wp-content -type d -exec chmod 755 {} \; -o -type f -exec chmod 644 {} \;"
|
|
echo "✅ WordPress content successfully copied!"
|
|
|
|
# Step 7: Shuffle salts
|
|
echo "📂 Shuffle the salt keys...."
|
|
docker compose exec wpcli_${COMPOSE_PROJECT_NAME} wp config shuffle-salts
|
|
echo "✅ Wordpress salt keys sucessfully shuffled!" |