🌱 Mi Campo · Migración a AWS

0 / 0 (0%)
Migración del proyecto iqjvqhelkebjnwjplyhj desde Supabase Cloud + Netlify + Cloudflare a AWS. Marca cada tarea con un click — tu progreso se guarda automáticamente en este navegador. Tiempo estimado: 4–6 h (divisible en 2 sesiones).

📋 Cómo usar esta guía

Cada tarea tiene una casilla a la izquierda. Click para marcarla como hecha — verás un check verde y la tarea queda tachada. El progreso se guarda en tu navegador (localStorage), así que si cierras la pestaña y vuelves más tarde, sigues donde lo dejaste.

La barra de progreso de arriba se mueve automáticamente. Cuando completas todas las tareas de una sección, esa sección entera se pone en verde 🟢.

El índice "Progreso global" (sección siguiente) te muestra de un golpe en qué sección vas — útil tras un descanso.

Si prefieres empezar de cero, abajo a la derecha tienes un botón ↺ Reset.

🟢 Progreso global

  1. Sección 0 — Rotar credenciales (5 min, urgente)0/3
  2. Sección 1 — Resumen del plan0/1
  3. Sección 2 — Preparar tu Windows0/7
  4. Sección 3 — Backup de Supabase con la CLI0/8
  5. Sección 4 — Cuenta AWS y configuración inicial0/10
  6. Sección 5 — Lanzar la instancia Lightsail0/4
  7. Sección 6 — Instalar Docker en la instancia0/6
  8. Sección 7 — Desplegar Supabase con Docker0/7
  9. Sección 8 — HTTPS con Caddy0/4
  10. Sección 9 — Migrar datos al servidor nuevo0/10
  11. Sección 10 — Configurar Google OAuth + SMTP0/7
  12. Sección 11 — Subir el frontend a S3 + CloudFront0/5
  13. Sección 12 — Mover el Worker a Lambda0/7
  14. Sección 13 — Dominio Nominalia → Route 530/9
  15. Sección 14 — Actualizar el index.html0/5
  16. Sección 15 — Probar todo0/12
  17. Sección 16 — Backups automáticos0/7
  18. Sección 17 — Costes mensuales
  19. Sección 18 — Limpiar Netlify, Supabase Cloud, Cloudflare (1 sem después)0/5
  20. Sección 19 — Problemas frecuentes
  21. Sección 20 — Rollback de emergencia0/3

⚠️ Sección 0 — ANTES DE NADA: rotar credenciales

Antes de tocar AWS, haz estas tres cosas. Son 5 minutos y son urgentes porque me has compartido la API key de Anthropic y la password de Postgres en chat — hay que considerarlas comprometidas.

Sección 1 — Resumen del plan

Sección 2 — Preparar tu Windows

Abre PowerShell como administrador (botón derecho en menú inicio → Windows PowerShell (Admin)).

Sección 3 — Backup de Supabase con la CLI

Sección 4 — Cuenta AWS y configuración inicial

Sección 5 — Lanzar la instancia Lightsail

Sección 6 — Instalar Docker en la instancia

Dentro del SSH (eres usuario ubuntu):

Sección 7 — Desplegar Supabase con Docker

Sección 8 — HTTPS con Caddy

Sección 9 — Migrar datos al servidor nuevo

Sección 10 — Configurar Google OAuth + SMTP

Necesita el Studio HTTPS funcionando. Si aún no terminaste el paso 13, vuelve aquí después.

Sección 11 — Frontend en S3 + CloudFront

Sección 12 — Mover el Worker a Lambda

Sección 13 — Dominio Nominalia → Route 53

Sección 14 — Actualizar el index.html

Sección 15 — Probar todo

Abre https://app.micampoconia.com en ventana de incógnito (sin caché).

Si algo falla: F12 → Console + Network y mira qué petición se rompe.

Sección 16 — Backups automáticos

Sección 17 — Costes mensuales

ServicioCoste/mes
Lightsail 8 GB RAM40 USD
Static IP0 USD
S3 (~2 GB)< 1 USD
CloudFront (~10 GB)~1 USD
Lambda< 1 USD
Route 53 hosted zone0,50 USD
ACM0 USD
SES (≤10k emails/mes)< 1 USD
Secrets Manager0,40 USD
Snapshots Lightsail~2 USD
Backups S3< 1 USD
Total~46–48 USD/mes (~43-45 €)

Sección 18 — Limpiar Netlify, Supabase Cloud, Cloudflare

Espera 1 SEMANA funcionando en AWS antes de hacer esto.

Sección 19 — Problemas frecuentes

"401 Unauthorized" desde el frontend

La <ANON_KEY> no coincide con el JWT_SECRET del .env. Genera de nuevo.

"connection refused" al hacer SSH

Instancia sin RAM. En Lightsail → Reboot.

Email no llega

SES en sandbox. Verifica el destinatario en SES o solicita producción.

Caddy "re-attempting..." con certificados

DNS no propagados. Espera y sudo systemctl restart caddy.

Mensajes Realtime no actualizan

Falta keepalive 600s en Caddyfile (paso 8.3).

Login Google "redirect_uri_mismatch"

Falta el URI nuevo en Google Cloud Console (paso 10.1).

CloudFront sirve versión vieja

Lanza invalidación: aws cloudfront create-invalidation --distribution-id <ID> --paths "/*"

Lightsail no en Madrid

Cambia región dentro del propio Lightsail a París (eu-west-3).

Sección 20 — Rollback de emergencia

Si algo sale catastróficamente mal:

Mantén Supabase Cloud + Netlify activos sin borrar 2 semanas después de migrar.

Cualquier paso que se atasque, copia el error en el chat y lo desatascamos al momento.
Empieza por la Sección 0 ahora mismo. Es 5 minutos y es lo único urgente. 🚀