# systems-prod-01 - OVHcloud VPS **Provider**: OVHcloud VPS-3 (8 vCores, 24GB RAM, 200GB SSD) **Location**: Virginia, US East **IP**: 15.204.247.153 ## Quick Access ```bash # Server access ssh jared@15.204.247.153 # Traefik Dashboard # URL: https://traefik.hyperthrive.app # Login: admin / dH1CtZuVLBUMig7P # Docker status ssh jared@15.204.247.153 "docker ps" ssh jared@15.204.247.153 "docker stats --no-stream" # System health ssh jared@15.204.247.153 "syshealth" ssh jared@15.204.247.153 "logsummary" ``` ## Live Services ✅ **BestSolarTech.com** - WordPress site migrated from DigitalOcean ✅ **LandHomeTeam** - static "Coming Soon" page ✅ **n8n** (prod + test) - n8n.hyperthrive.io / testn8n.hyperthrive.io ✅ **Formbricks** - formbricks.hyperthrive.io ✅ **Vaultwarden** - password manager ✅ **Invoice Ninja** - invoice.hyperthrive.io ✅ **NocoDB** - nocodb.hyperthrive.io ✅ **n8n-swanson** - personal instance ✅ **Forgejo** - git hosting ✅ **Traefik** - Reverse proxy with automatic SSL ✅ **Watchtower** - automated container updates ✅ **Monitoring** - Automated health checks & maintenance (see CLAUDE.md) See [docs/services-inventory.md](./docs/services-inventory.md) for full details. ## Status ✅ **Infrastructure Ready** - Docker, Traefik, monitoring configured ✅ **Automated Recovery** - Health monitor runs every 10 min, daily maintenance at 3 AM ✅ **Migration COMPLETE** - All services migrated from DigitalOcean; the old DigitalOcean VPS (`hyperthrive-docker-services`, 161.35.12.75) was **deleted on 2026-06-24**. This OVH box is now the sole production host. See [migrations/migration-plan.md](./migrations/migration-plan.md) for the historical migration record. ## Project Structure ``` systems-prod-01/ ├── README.md # This file ├── CLAUDE.md # AI assistant context ├── profile.yaml # Server specifications ├── credentials.md # Service credentials ├── configs/ # Configuration templates │ ├── service-template.yml # Docker service template │ ├── wordpress-docker-migration-guide.md # WordPress migration lessons │ └── traefik configs # Reverse proxy setup └── migrations/ # Migration documentation ├── migration-plan.md # Overall strategy & progress └── completed/ # Finished migrations └── bestsolartech.md # BestSolarTech details ``` ## Service Management ### Deploy New Service ```bash # Create service directory ssh jared@15.204.247.153 "mkdir -p ~/services/SERVICE_NAME" # Deploy with Docker Compose scp docker-compose.yml jared@15.204.247.153:~/services/SERVICE_NAME/ ssh jared@15.204.247.153 "cd ~/services/SERVICE_NAME && docker compose up -d" ``` ### WordPress Quick Commands ```bash # Update WordPress database URLs ssh jared@15.204.247.153 "docker exec CONTAINER_DB mysql -u USER -pPASS -e \" USE DATABASE; UPDATE wp_options SET option_value = 'https://domain.com' WHERE option_name IN ('siteurl', 'home'); \"" # View container logs ssh jared@15.204.247.153 "docker logs CONTAINER_NAME --tail 50" ``` ## Key Learnings - Use MariaDB 10.11 for WordPress migrations - Disable Real Simple SSL plugin when using Traefik - Escape `$$` in Docker Compose environment variables - Use `||` operator for multiple Traefik host rules For detailed guidance, see [configs/wordpress-docker-migration-guide.md](./configs/wordpress-docker-migration-guide.md)