If a previous certbot run created live/archive/renewal dirs but failed to complete, the next attempt would choke on the existing 'live directory'. Now cleans these before each attempt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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>