server-ovh-prod-01-main/migrations/completed/bestsolartech.md

74 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

# BestSolarTech.com Migration - COMPLETED
**Migration Date**: 2025-09-19
**Status**: ✅ LIVE IN PRODUCTION
**URL**: https://bestsolartech.com
## Migration Summary
Successfully migrated WordPress site from DigitalOcean (ServerPilot) to OVHcloud VPS using Docker containers.
## Final Configuration
### Docker Services
- **WordPress Container**: `bestsolartech_wp` (WordPress 6.7-php8.3-apache)
- **Database Container**: `bestsolartech_db` (MariaDB 10.11)
- **Reverse Proxy**: Traefik v3.0 (SSL via Let's Encrypt)
### Access Details
- **Production URL**: https://bestsolartech.com
- **Admin Panel**: https://bestsolartech.com/wp-admin/
- **Server IP**: 15.204.247.153
- **Service Path**: `~/services/bestsolartech/`
### Database Configuration
- **Database Name**: bst_wordpress
- **Database User**: wordpress
- **Table Prefix**: wp_vuhx_
- **Database Password**: [Stored in credentials.md]
## Key Learnings
1. **MariaDB Version**: Use 10.11 for WordPress migrations (10.7 caused redo log errors)
2. **SSL Handling**: Disabled Real Simple SSL plugin - Traefik handles SSL termination
3. **Proxy Configuration**: Added proxy detection to wp-config.php for proper HTTPS handling
4. **Variable Escaping**: Use `$$` to escape `$_SERVER` variables in docker-compose.yml
5. **Traefik Rules**: Use `||` operator for multiple host rules in Traefik v3
## Maintenance Commands
### Database URL Updates
```bash
ssh jared@15.204.247.153 "docker exec bestsolartech_db mysql -u wordpress -pBST_wp2024_secure -e \"
USE bst_wordpress;
UPDATE wp_vuhx_options SET option_value = 'https://bestsolartech.com' WHERE option_name IN ('siteurl', 'home');
\""
```
### Container Management
```bash
# View logs
ssh jared@15.204.247.153 "docker logs bestsolartech_wp --tail 50"
# Restart services
ssh jared@15.204.247.153 "cd ~/services/bestsolartech && docker compose restart"
# Update WordPress
ssh jared@15.204.247.153 "cd ~/services/bestsolartech && docker compose pull && docker compose up -d"
```
## Backup Strategy
WordPress files and database are backed up via:
- Docker volumes in `~/services/bestsolartech/`
- WordPress data: `./wordpress/`
- Database data: `./db_data/`
Regular backups should be configured for production data protection.
## Migration Metrics
- **Migration Time**: ~2 hours
- **Downtime**: Zero (used temp domain for testing)
- **Data Migrated**: 1.5GB WordPress files, 599MB database
- **Cost Savings**: Part of overall consolidation from DigitalOcean