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>
60 lines
1.6 KiB
Markdown
60 lines
1.6 KiB
Markdown
# Updating WebsiteBox
|
|
|
|
## Quick Update
|
|
|
|
```bash
|
|
cd ~/websitebox
|
|
./scripts/update.sh
|
|
```
|
|
|
|
The update script will:
|
|
|
|
1. Check for local modifications to tracked files (warns and aborts if found)
|
|
2. Show you what's changing before applying
|
|
3. Ask for confirmation
|
|
4. Pull the latest code
|
|
5. Pull updated Docker base images
|
|
6. Rebuild containers with any changes
|
|
7. Clean up old Docker images
|
|
8. Run any required migrations
|
|
9. 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:
|
|
|
|
```bash
|
|
./scripts/healthcheck.sh
|
|
```
|
|
|
|
Visit your site and wp-admin to verify normal operation.
|
|
|
|
## Rollback
|
|
|
|
If an update causes issues:
|
|
|
|
```bash
|
|
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
|
|
```
|