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

2.4 KiB

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

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

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

# 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