Env var to choose compose command, updated rocket and README with change.
This commit is contained in:
parent
fc59ec3ca3
commit
b80768e047
12
README.md
12
README.md
@ -6,11 +6,12 @@ ComposePress is a **Docker-based toolkit** designed to streamline WordPress upgr
|
||||
|
||||
## 🚀 Project Configuration
|
||||
|
||||
### **Project Name & WordPress Version**
|
||||
### **Project Name & WordPress Version & Compose Command**
|
||||
Define a **unique project name** and **WordPress version** in the `.env` file:
|
||||
```bash
|
||||
COMPOSE_PROJECT_NAME=test
|
||||
WORDPRESS_VERSION=6-fpm
|
||||
COMPOSE_COMMAND=podman-compose
|
||||
```
|
||||
|
||||
---
|
||||
@ -26,10 +27,15 @@ IMAGE_DATABASE=mariadb:11.5
|
||||
|
||||
### **Let's Encrypt Configuration**
|
||||
```bash
|
||||
VIRTUAL_HOST=test.test.org
|
||||
LETSENCRYPT_HOST=test.test.org
|
||||
VIRTUAL_HOST=podman.test.org
|
||||
LETSENCRYPT_HOST=podman.test.org
|
||||
LETSENCRYPT_EMAIL=test@test.com
|
||||
LETSENCRYPT_TEST=true
|
||||
HTTPS_METHOD=noredirect
|
||||
|
||||
# redirect (default) - Redirects HTTP requests to HTTPS via HSTS.
|
||||
# noredirect - Does not redirect HTTP requests to HTTPS. (e.g. https://podman.test.com:8080)
|
||||
# nohttp - Disables the non-SSL site entirely. HTTP requests will get an error.
|
||||
```
|
||||
|
||||
### **Database Configuration**
|
||||
|
||||
@ -83,6 +83,7 @@ services:
|
||||
- ./nginx.conf:/etc/nginx/nginx.conf
|
||||
environment:
|
||||
- VIRTUAL_HOST=${VIRTUAL_HOST:-wordpress}
|
||||
- HTTPS_METHOD=${HTTPS_METHOD:-noredirect}
|
||||
- LETSENCRYPT_HOST=${LETSENCRYPT_HOST:-wordpress}
|
||||
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL:-me}
|
||||
- LETSENCRYPT_TEST=${LETSENCRYPT_TEST:-true}
|
||||
|
||||
@ -3,34 +3,37 @@
|
||||
# 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
|
||||
# Source .env if it exists
|
||||
if [ -f .env ]; then
|
||||
set -o allexport
|
||||
source .env
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
echo "🚀 Starting WordPress Deployment Process..."
|
||||
|
||||
# Step 0: **Reset Environment** - Stop and remove volumes
|
||||
echo "🧹 Cleaning up existing containers and volumes..."
|
||||
${COMPOSE_COMMAND:-podman-compose} down -v
|
||||
|
||||
# Step 1: Build custom WordPress image
|
||||
echo "🔧 Building custom WordPress image..."
|
||||
${COMPOSE_COMMAND:-podman-compose} -f "$COMPOSE_FILE" build
|
||||
|
||||
# Step 2: Install or upgrade WordPress volume
|
||||
echo "📦 Installing or upgrading WordPress volume..."
|
||||
${COMPOSE_COMMAND:-podman-compose} -f "$COMPOSE_FILE" up -d
|
||||
|
||||
# Step 3: Stop WordPress container (keep HTML volume)
|
||||
echo "⏹️ Stopping WordPress container (keeping data)..."
|
||||
${COMPOSE_COMMAND:-podman-compose} -f "$COMPOSE_FILE" down
|
||||
|
||||
# Step 4: Start production environment
|
||||
echo "🚀 Launching production environment..."
|
||||
${COMPOSE_COMMAND:-podman-compose} up -d
|
||||
|
||||
# Step 5: Extract the first VIRTUAL_HOST address
|
||||
if [ -f .env ]; then
|
||||
# Extract only the first address from VIRTUAL_HOST
|
||||
FIRST_VIRTUAL_HOST=$(echo "$VIRTUAL_HOST" | cut -d',' -f1)
|
||||
|
||||
@ -41,11 +44,11 @@ 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 {} \;"
|
||||
${COMPOSE_COMMAND:-podman-compose} exec wordpress_${COMPOSE_PROJECT_NAME} bash -c "cp -a /var/www/html/wp-content-new/* /var/www/html/wp-content/"
|
||||
${COMPOSE_COMMAND:-podman-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
|
||||
${COMPOSE_COMMAND:-podman-compose} exec wpcli_${COMPOSE_PROJECT_NAME} wp config shuffle-salts
|
||||
echo "✅ Wordpress salt keys sucessfully shuffled!"
|
||||
Loading…
x
Reference in New Issue
Block a user