Saltar al contenido

Migrar desde Vercel ​

En Zenavo, una aplicación Next.js se ejecuta como un único servidor que está siempre en marcha (next start) en lugar de funciones serverless, y un sitio estático lo sirve Caddy. La mayoría de aplicaciones se trasladan sin cambiar el código.

Equivalencias entre Vercel y Zenavo ​

VercelZenavo
ProyectoUn servicio en un proyecto
Despliegues Git de la rama de producciónDesplegar con cada push
Despliegues de vista previaSin equivalente: añade un servicio que siga otra rama, o clona el proyecto
Serverless y Edge FunctionsParte del único servidor de Next.js
Variables de entornoVariables; NEXT_PUBLIC_* como argumentos de compilación
Redirects, rewrites y headers de vercel.jsonnext.config.js, o la configuración de tu servidor estático
Vercel Postgres, KV, BlobSigue con el proveedor, o pasa a servicios de base de datos
Cron JobsAún no hay tareas programadas: ejecuta un servicio worker con un planificador

1. Despliega la aplicación ​

  1. Añade un servidor y crea un proyecto.
  2. Add Service → GitHub, elige el repositorio y define el directorio raíz si la aplicación está en un monorepo.
  3. Sigue la guía de Next.js o de Sitios estáticos: Next.js se compila con next build y arranca con next start; Vite y otras compilaciones estáticas se sirven desde su carpeta de salida.

Lo que se comporta distinto que en Vercel:

  • La regeneración estática incremental y la caché de imágenes funcionan con next start, pero su caché vive en el contenedor y empieza vacía tras cada despliegue.
  • El middleware se ejecuta en el servidor Node.js, no en una ubicación edge.
  • Los redirects, rewrites y headers de vercel.json no se leen. Pásalos a redirects(), rewrites() y headers() en next.config.js.

2. Copia las variables ​

sh
vercel env pull .env.production --environment=production

Pega las líneas en la pestaña Variable del servicio → Edit Raw Variables, sin las VERCEL_*. Pasa todas las variables NEXT_PUBLIC_* (y VITE_* en sitios estáticos) a Settings → Build → Build arguments, porque se necesitan al compilar. Borra el archivo después.

3. Datos ​

Las bases de datos del Marketplace de Vercel (Neon, Upstash, Supabase y otras) siguen funcionando desde Zenavo con sus cadenas de conexión. Para traer PostgreSQL a tu servidor, vuélcalo en SQL plano con pg_dump --no-owner --no-acl "$POSTGRES_URL" | gzip > vercel.sql.gz, y súbelo y restáuralo en la pestaña Backup & Restore de un nuevo servicio PostgreSQL (Subir una copia de seguridad).

4. Cambia el dominio ​

Asocia el dominio en Networking y apúntalo al servidor con un registro A. Si el dominio usa los servidores de nombres de Vercel, cambia el registro en Vercel DNS o traslada antes los servidores de nombres (Dominios y HTTPS).

Sin relación con Zeabur.