Private
Public Access
1
0

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>
This commit is contained in:
constantprojects
2026-02-20 15:24:23 -07:00
commit a440026701
32 changed files with 3397 additions and 0 deletions

59
docs/UPDATING.md Normal file
View File

@@ -0,0 +1,59 @@
# 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
```