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>
1.6 KiB
1.6 KiB
Updating WebsiteBox
Quick Update
cd ~/websitebox
./scripts/update.sh
The update script will:
- Check for local modifications to tracked files (warns and aborts if found)
- Show you what's changing before applying
- Ask for confirmation
- Pull the latest code
- Pull updated Docker base images
- Rebuild containers with any changes
- Clean up old Docker images
- Run any required migrations
- Verify all containers are healthy
What Gets Updated
| Component | How it updates |
|---|---|
| WebsiteBox configs (nginx, docker-compose, entrypoints) | update.sh pulls from git |
| Base Docker images (nginx, MariaDB) | docker compose pull via update script |
| WordPress core (minor/security) | Automatic via WordPress auto-updates |
| WordPress core (major) | Manual via WordPress admin GUI |
| Plugins (Wordfence, UpdraftPlus, Age Gate) | Manual via WordPress admin GUI |
| GeneratePress parent theme | Manual via WordPress admin GUI |
| WebsiteBox child theme | update.sh pulls from git |
Before Updating
- Your site data in
websitebox-data/is never modified by updates - If you've edited any tracked files (Dockerfiles, nginx configs, etc.), the update script will warn you
- Consider running a backup first:
./scripts/backup.sh
After Updating
Check that everything is working:
./scripts/healthcheck.sh
Visit your site and wp-admin to verify normal operation.
Rollback
If an update causes issues:
cd ~/websitebox
git log --oneline -5 # Find the previous commit
git checkout <commit-hash> # Revert to that commit
docker compose up -d --build # Rebuild with previous code