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:
@@ -0,0 +1,48 @@
|
||||
# Copy this to .env.dev / .env.staging / .env.production and fill in real
|
||||
# values for that environment. The filled-in files are gitignored — never
|
||||
# commit them. Same code everywhere; only these values differ (see
|
||||
# design doc §01, Environments & deployment).
|
||||
|
||||
# --- Site ---
|
||||
# (WP_ENVIRONMENT_TYPE is NOT set here — it's hardcoded per environment in
|
||||
# docker-compose.{dev,staging,production}.yml so it can't go stale.)
|
||||
SITE_DOMAIN=staging.example.com
|
||||
SITE_URL=https://staging.example.com
|
||||
SITE_TITLE="Bookstore (staging)"
|
||||
|
||||
# --- WordPress admin bootstrap (used only on first install) ---
|
||||
WP_ADMIN_USER=admin
|
||||
WP_ADMIN_PASSWORD=changeme
|
||||
WP_ADMIN_EMAIL=admin@example.com
|
||||
|
||||
# --- Database ---
|
||||
DB_NAME=bookstore
|
||||
DB_USER=bookstore
|
||||
DB_PASSWORD=changeme
|
||||
DB_ROOT_PASSWORD=changeme
|
||||
WP_TABLE_PREFIX=wp_
|
||||
|
||||
# --- Staging only: basic-auth wall + noindex ---
|
||||
# Generate the hash with:
|
||||
# docker run --rm caddy:2-alpine caddy hash-password --plaintext 'your-password'
|
||||
STAGING_BASIC_AUTH_USER=staging
|
||||
STAGING_BASIC_AUTH_HASH=
|
||||
|
||||
# --- Backups (deploy/backup.sh) ---
|
||||
BACKUP_DIR=./backups
|
||||
BACKUP_REMOTE=
|
||||
BACKUP_RETENTION_DAYS=14
|
||||
|
||||
# --- Supplier adapters (design doc §04) ---
|
||||
# staging: gutenberg_test production: booksrun,ingram
|
||||
ACTIVE_SUPPLIER_ADAPTERS=gutenberg_test
|
||||
BOOKSRUN_API_KEY=
|
||||
INGRAM_API_KEY=
|
||||
INGRAM_ACCOUNT_ID=
|
||||
|
||||
# --- Payments (Helcim) ---
|
||||
HELCIM_API_TOKEN=
|
||||
HELCIM_ACCOUNT_ID=
|
||||
|
||||
# --- Marketing ---
|
||||
MAILERLITE_API_KEY=
|
||||
Reference in New Issue
Block a user