# 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