Loading...

Aprende / Despliegue

Cómo desplegar una aplicación Next.js en cdn.com.tr

Publica una aplicación Next.js en producción sin gestionar servidores: contenerízala una vez, haz push a Git, y cdn.com.tr la construye, la ejecuta como una aplicación en contenedor gestionada y la sirve desde la CDN edge con un dominio personalizado y HTTPS automático.

8 min de lectura Intermedio Updated

Cómo desplegar una aplicación Next.js en cdn.com.tr

Qué necesitas

Necesitas tres cosas: una aplicación Next.js (una ya existente sirve), un repositorio Git para ella (GitHub funciona de inmediato), y una cuenta de cdn.com.tr. No necesitarás aprovisionar un servidor, instalar Node en una VM, ni configurar un proxy inverso — la plataforma gestiona el runtime, el TLS y la entrega. El único cambio del lado de la aplicación es indicarle a Next.js que produzca una compilación autocontenida para que se ejecute limpiamente en un contenedor.

Prepara la aplicación para un contenedor

Primero, activa la salida standalone de Next.js. Esto empaqueta solo los archivos que el servidor necesita, lo que mantiene la imagen pequeña y el contenedor simple.

next.config.js

// next.config.js
module.exports = {
  output: 'standalone',
};

Añade un Dockerfile

Un pequeño Dockerfile multietapa construye la aplicación en una etapa y solo publica la salida de runtime en la siguiente. Confirma este archivo en la raíz de tu repositorio.

Dockerfile

# Etapa de compilación
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

# Etapa de runtime
FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
EXPOSE 3000
CMD ["node", "server.js"]

Despliega desde Git (recomendado)

En el panel de cdn.com.tr, crea una aplicación en contenedor y conecta tu repositorio Git. La plataforma lee tu Dockerfile, construye la imagen y ejecuta el contenedor — sin servidor de compilación que mantener. A partir de ahí, desplegar es simplemente hacer push a tu rama: cada push activa una compilación nueva y una publicación sin tiempo de inactividad.

Publica un cambio

git add .
git commit -m "Update homepage"
git push origin main
# cdn.com.tr construye la nueva imagen y la publica automáticamente
Cómo desplegar una aplicación Next.js en cdn.com.tr — Despliega desde Git (recomendado)
Plataformas gestionadas y container apps en cdn.com.tr.

O despliega con la CLI cdnctl

¿Prefieres la línea de comandos o un pipeline de CI? La CLI de operador cdnctl gestiona tus aplicaciones en contenedor como código. Inicia sesión una vez y elige tu cuenta, luego crea la aplicación a partir de una imagen que hayas subido a un registro — y usa la misma herramienta para transmitir logs, escalar o revertir. Esto es lo que hace que publicar en cdn.com.tr sea rápido: un comando en lugar de recorrer una consola a clics.

cdnctl
cdnctl login
cdnctl accounts use <account_uuid>

# crea la aplicación a partir de tu imagen publicada, en tu dominio
cdnctl container apps create \
  --name my-nextjs \
  --image registry.example.com/acme/my-nextjs --tag 1.0.0 \
  --port 3000 --domain app.example.com \
  --healthcheck /api/health --healthcheck-type http

# luego, en cualquier momento:
cdnctl container apps logs   --app <app_uuid> --tail 100
cdnctl container apps scale  --app <app_uuid> --replicas 2
cdnctl container apps deploy --app <app_uuid>

Dominio personalizado, HTTPS y el edge

Apunta tu dominio a la aplicación y cdn.com.tr emite y renueva un certificado SSL automáticamente — sin certbot manual. Tu aplicación Next.js ahora se ejecuta detrás de la CDN edge, así los recursos estáticos se almacenan en caché y se entregan cerca de cada visitante, un WAF filtra el tráfico malicioso, y los picos de tráfico se absorben en el edge en lugar de golpear un solo contenedor. Obtienes un despliegue de Next.js en producción rápido y seguro sin operar ninguna de las infraestructuras subyacentes.

Buenos casos de uso

Sitios de marketing y contenido

Las páginas de Next.js servidas desde el edge cargan rápido en todo el mundo y se mantienen en línea durante un lanzamiento o un momento viral.

Aplicaciones full-stack y APIs

Ejecuta tus rutas de API y el SSR de Next.js como un contenedor gestionado con HTTPS automático y un WAF por delante.

Equipos que publican con frecuencia

Los despliegues con git push y publicaciones sin tiempo de inactividad encajan con CI y lanzamientos frecuentes sin vigilar servidores.

Preguntas frecuentes sobre el despliegue de Next.js

¿Funcionan el SSR y las rutas de API, o solo la exportación estática?

Ambos funcionan. Como la aplicación se ejecuta como un contenedor Node real (no una exportación estática), el renderizado del lado del servidor, las rutas de API y el middleware funcionan con normalidad. La CDN almacena en caché lo que se puede cachear y pasa las peticiones dinámicas al contenedor.

¿Cómo funcionan las actualizaciones y las reversiones?

Cada push a tu rama conectada construye una imagen nueva y la publica sin tiempo de inactividad. Si una compilación falla, la versión anterior sigue sirviendo, así que un commit erróneo no tumba tu sitio.

¿Necesito gestionar el servidor, la versión de Node o el SSL?

No. El runtime del contenedor, el escalado, los certificados TLS y el edge están gestionados por ti. Tú controlas la aplicación y su Dockerfile; la infraestructura subyacente está resuelta.