Mover una aplicación Next.js de Vercel a tu propio servidor
Para mover una aplicación Next.js de Vercel a tu propio servidor, conecta el mismo repositorio de GitHub al panel Coolify del servidor, copia las variables de entorno, sustituye las partes específicas de Vercel (cron, analíticas, almacenamiento), prueba en una dirección temporal y cambia al final el registro A de tu dominio. La documentación de Next.js dice que todas las funciones funcionan en un servidor Node.js. Tu despliegue de Vercel sigue activo hasta que cambies, así que tienes una vía de vuelta.
En realidad, esto es una elección de modelo de facturación. La documentación de Vercel explica que la infraestructura se factura por datos transferidos, solicitudes y duración de cómputo. Un servidor cuesta una cuota mensual fija por la RAM, la CPU y el disco que eliges. Nuestra comparación muestra cómo hacer tus propias cuentas.
¿Qué cambia al mudarte?
| Tema | Vercel | Tu servidor |
|---|---|---|
| Facturación | Por uso | Cuota mensual fija, tráfico ilimitado, copia de seguridad diaria incluida en el precio |
| Ubicación | Red global de distribución | Un servidor, en Estambul |
| Picos de tráfico | La plataforma los absorbe y la factura crece | El sitio se ralentiza cuando se agota la capacidad, y tú amplías |
| Compilaciones | En las máquinas de la plataforma | En el mismo servidor, así que las compilaciones marcan la memoria que necesitas |
| Mantenimiento | Tarea de la plataforma | Las actualizaciones del sistema operativo y de los paquetes y la supervisión son tuyas, igual que el acceso root |
| Vistas previas | Automáticas para las ramas | Se activan aparte en Coolify |
| Seguridad de red | Vercel Firewall | Gestionas el cortafuegos del servidor |
Hablando claro: hay un solo servidor, no hay distribución global en el borde, y el mantenimiento pasa a ser tuyo. ¿A quién no le importará? Si tus visitantes están sobre todo en Turquía y los países cercanos, una sola ubicación está bien. Si todas tus páginas leen de una sola base de datos, las respuestas esperan a esa base de datos esté donde esté el código. Los paneles de control, las herramientas internas y los productos con tráfico predecible rara vez necesitan escalado automático. Si tu audiencia está repartida por todo el mundo, tu tráfico se dispara con fuerza o no quieres tocar nunca el mantenimiento, Vercel puede ser la mejor opción.
Prepara el servidor nuevo
- Haz el pedido desde la página de VPS para Next.js. El servidor incluye Coolify.
- Conecta el repositorio. La forma corta: abre el proyecto en Claude Code o Cursor, pega la fila Pégalo en tu herramienta de IA de la pestaña Resumen y la herramienta lo publica. También puedes hacerlo a mano.
- Fija tu versión de Node con
engines.nodeenpackage.json. - Descarga tus variables:
vercel env pull .env.move --environment=production. Los valores secretos no se pueden volver a leer, así que la CLI escribe marcadores de posición y esos valores los obtienes de su origen. Mantén el archivo fuera del repositorio e introduce su contenido en Environment Variables de Coolify, con los valoresNEXT_PUBLIC_disponibles en el momento de la compilación. - Busca código específico de Vercel:
grep -n "@vercel/" package.jsonygrep -rnE "VERCEL_|x-vercel-" app src. Las variables del sistema comoVERCEL_URLno existen en tu servidor, así que usa las tuyas.
Funciones de Next.js y partes específicas de Vercel
| Parte | En tu servidor | Qué hacer |
|---|---|---|
| Optimización de imágenes | Funciona con next start, sin configuración | Usa la CPU y la memoria de tu servidor |
| ISR y caché | Funcionan por sí solos en una instancia con un disco local | Varias instancias deben compartir la caché, y se vuelve a llenar tras cada publicación |
| Middleware (Proxy en Next.js 16) | Funciona con next start, sin configuración | Las solicitudes ahora se atienden en Estambul |
| Tareas cron | vercel.json no se lee | Llama a la misma ruta desde Scheduled Tasks en Coolify: curl -fsS -H "Authorization: Bearer $CRON_SECRET" http://localhost:3000/api/cron. El cron de Vercel funciona en UTC, mientras que Coolify usa la zona horaria del servidor |
| Redirecciones y cabeceras | vercel.json no se lee | Muévelas a next.config |
| Web Analytics, Speed Insights | Dependen de rutas que Vercel añade a un despliegue | Quita los componentes y usa una herramienta como Umami |
| AI Gateway | Se puede llamar desde cualquier servidor | Establece AI_GATEWAY_API_KEY |
¿Y Postgres, KV y Blob?
- Postgres y KV: La documentación de Vercel dice que estos productos ya no existen y que las bases de datos antiguas pasaron a proveedores del Marketplace, así que tus datos están con un proveedor aparte tras una variable de entorno. Lleva esa variable y la aplicación llega a la misma base de datos. Si la facturación pasa por tu cuenta de Vercel, saca tus datos antes de cerrarla. Una base de datos lejana suma esa distancia a cada consulta.
- Moverla a tu servidor: Crea PostgreSQL en Coolify, exporta con
pg_dump -Fc "OLD-DATABASE-URL" --no-owner --no-privileges -f backup.dumpy sube el archivo con Import backup en la página Backups de la base de datos. Si Redis es solo una caché, empezar vacío suele estar bien. - Blob:
BLOB_READ_WRITE_TOKENtambién funciona desde otro host, así que puedes dejarlo como está. Para traer los archivos a tu servidor, cambia el código y monta la carpeta con Persistent Storage.
Cambiar tu dominio sin interrupciones
- Prueba en la dirección HTTPS que te da Coolify: inicio de sesión, formularios, pagos, imágenes y Execute now para el cron.
dig NS example.com +shortmuestra dónde están tus registros: la página Domains de Vercel si lista los servidores de nombres de Vercel; si no, tu proveedor de DNS.- Baja el TTL de los registros de la raíz y de
www, por ejemplo a 300 segundos, y espera a que pase el TTL antiguo. - Si la base de datos también se mueve, detén las escrituras y carga la copia final.
- Apunta el registro A a la dirección IP del servidor. No toques los registros MX y TXT del correo.
- Añade el dominio con
httpsen la página Domains de Coolify y pulsa Redeploy. El certificado se emite automáticamente. - Mantén activo el despliegue de Vercel unos días. Los visitantes con el registro antiguo en caché llegan allí, y puedes volver a apuntar el registro si hace falta.
- Cuando el tráfico se haya movido, quita el dominio del proyecto de Vercel, corta la conexión con Git con Disconnect y restablece el TTL.
El certificado solo se emite cuando el dominio ya apunta al servidor, así que los primeros visitantes pueden ver un breve aviso de certificado. Haz el cambio en una hora tranquila.
Preguntas frecuentes
¿Con qué tamaño debo empezar?
La página de venta recomienda al menos 4 GB de RAM, 2 vCores y 40 GB de disco. Un proyecto pequeño se compiló con 2 GB, mientras que uno con 85 paquetes se quedó sin memoria con 2 GB y se compiló con 4 GB. Puedes ampliar desde tu panel.
¿Cuánto costará al mes?
Ese tamaño cuesta unos $6 al mes (IVA incluido), y fuera de Turquía pagas en dólares estadounidenses. El tráfico es ilimitado.
¿Tengo que transferir un dominio que compré en Vercel?
No. La documentación de Vercel trata el registro y el DNS por separado. Basta con cambiar el registro A en Vercel, y tu registro sustituye a los predeterminados.
¿Cómo funcionan las actualizaciones después de la mudanza?
Con un webhook, git push compila y publica cada versión. Si una sale mal, la página Rollback de Coolify te devuelve a una imagen anterior.
¿Puedo mudarme sin mover la base de datos?
Sí, y es el orden de menor riesgo. Mueve primero la aplicación y la base de datos después.
Comentarios0
Todavía no hay comentarios
Sea la primera persona en compartir su opinión.
Inicie sesión o regístrese para dejar un comentario.