Docker Compose environments for dev/staging/production (MariaDB, Redis, Caddy, Action Scheduler cron sidecar), an idempotent deploy script, git-hook-based deploy pipeline, backup/restore scripts, and the bookstore-core plugin stub with WooCommerce HPOS compatibility declared. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
41 lines
963 B
YAML
41 lines
963 B
YAML
x-env-type: &env-type
|
|
WP_ENVIRONMENT_TYPE: staging
|
|
|
|
services:
|
|
wordpress:
|
|
environment: *env-type
|
|
|
|
cron:
|
|
environment: *env-type
|
|
|
|
caddy:
|
|
image: caddy:2-alpine
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- wordpress
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
environment:
|
|
SITE_DOMAIN: ${SITE_DOMAIN}
|
|
STAGING_BASIC_AUTH_USER: ${STAGING_BASIC_AUTH_USER}
|
|
STAGING_BASIC_AUTH_HASH: ${STAGING_BASIC_AUTH_HASH}
|
|
volumes:
|
|
- ./docker/caddy/Caddyfile.staging:/etc/caddy/Caddyfile:ro
|
|
- wp_core:/var/www/html:ro
|
|
- wp_uploads:/var/www/html/wp-content/uploads:ro
|
|
- wp_themes:/var/www/html/wp-content/themes:ro
|
|
- ./wp-content/plugins/bookstore-core:/var/www/html/wp-content/plugins/bookstore-core:ro
|
|
- caddy_data:/data
|
|
- caddy_config:/config
|
|
|
|
mailhog:
|
|
image: mailhog/mailhog:v1.0.1
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8025:8025"
|
|
|
|
volumes:
|
|
caddy_data:
|
|
caddy_config:
|