Week 1 infrastructure: Docker environments, deploy pipeline, bookstore-core scaffold

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>
This commit is contained in:
2026-08-27 09:50:18 -04:00
co-authored by Claude Sonnet 5
commit c9d637c907
23 changed files with 757 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
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: