Private
Public Access
1
0

3 Commits

Author SHA1 Message Date
constantprojects
2e06db3291 Fix WordPress unable to connect to database
Two bugs found:

1. wp-config-docker.php was being copied to /usr/src/wordpress/wp-config-docker.php,
   REPLACING the official WordPress config template. Our file only had security
   hardening settings (DISALLOW_FILE_EDIT, etc.) but no DB constants, auth keys,
   or table prefix. The generated wp-config.php had zero database configuration,
   so WordPress could never connect.

   Fix: Copy our config to /usr/src/websitebox-config.php instead, and load it
   via WORDPRESS_CONFIG_EXTRA=require_once in docker-compose.yml.

2. .user.ini set auto_prepend_file=wordfence-waf.php, but the file didn't exist
   until Wordfence plugin was installed. Every PHP request during initial setup
   returned a 500 fatal error.

   Fix: Add a stub wordfence-waf.php placeholder in the Docker image that gets
   copied with WordPress files. Wordfence replaces it during plugin activation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 09:29:16 -07:00
constantprojects
be9fd7fa06 Fix MariaDB healthcheck failing on MariaDB 11.8
The 'healthcheck --su-mysql' binary isn't reliably available in
newer MariaDB images. Switch to 'mariadb-admin ping' which is
always present. Also add start_period and increase retries for
slow first-boot initialization on small VPS instances.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 09:04:23 -07:00
constantprojects
a440026701 Initial commit: complete WebsiteBox project
Docker-based self-hosted WordPress deployment system with:
- Four-container stack (nginx, wordpress/php-fpm, mariadb, certbot)
- Automatic SSL via Let's Encrypt with self-signed fallback
- First-boot WordPress setup via WP-CLI (GeneratePress + child theme, plugins)
- Interactive setup wizard and one-line install script
- Backup, update, healthcheck, and SSL renewal scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:24:23 -07:00