Server Migration Overview (2026-02-25)
Why We Migrated
Two DigitalOcean droplets were replaced with OVH VPS servers for better specs at lower cost:
| Metric | DO n8n-dev ($12/mo) | OVH2 Dev ($45/mo) | DO worker-1 ($80/mo) | OVH3 Worker ($45/mo) |
|---|---|---|---|---|
| CPU | 1 vCPU | 12 vCPU | 4 vCPU (HDD) | 16 vCPU (NVMe) |
| RAM | 2 GB | 45 GB | 8 GB | 61 GB |
| Disk | 25 GB | 290 GB | 90 GB HDD | 339 GB NVMe |
| Cost | $12/mo | $45/mo | $80/mo | $45/mo |
Net result: Better specs across the board, paying $90/mo instead of $92/mo.
What Was Migrated
DO n8n-dev (68.183.83.159) → OVH2 (15.204.10.51)
12 Docker containers migrated:
- 4 N8N instances: n8n, n8n-dev1, n8n-dev2, max
- Infrastructure: postgres, caddy, portainer, watchtower
- Services: nocodb, qdrant, python-svc, n8n-audio-server
- 10 Docker volumes transferred (3.3 GB total)
- 4 bind mounts: nginx-audio-server, nocodb_data, Caddyfile, python-svc source
DO worker-1 (159.203.80.93) → OVH3 (15.204.11.95)
- N8N production: 19 workflows (14 active), SQLite database (997 MB), binary data (108 MB)
- Ricoya app: Next.js food delivery platform via PM2 + nginx
- Data backup: January 2026 n8n backup preserved
- API keys: Mistral + OpenAI credentials in .env
Migration Method
Data was transferred via SSH tar pipes (source → local → destination):
ssh source 'tar czf - /path' | ssh dest 'tar xzf - -C /path'
Docker volumes were transferred by tarring the volume data directories directly. All images were pulled fresh (latest versions) on the destination servers rather than transferring old images.
Post-Migration
- All DNS records updated in Cloudflare (lifeonroatan.net + ipnoelp.com)
- TLS certificates: Caddy auto-provisioned on OVH2, Let’s Encrypt/certbot on OVH3
- Both DO droplets destroyed, reserved IPs released
- Estimated monthly savings: $2/mo with massively better specs