# 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 # Revert to that commit docker compose up -d --build # Rebuild with previous code ```