GitHub|Since 2007
Paso 5

Opciones de hosting: Vercel, VPS, Docker

¿Dónde alojará su proyecto Next.js? Compare opciones como Vercel, Netlify, autoalojamiento o despliegues basados en Docker.

12 min

Opciones de hosting

Existen varias formas de ejecutar su aplicación Next.js. Su elección dependerá de su presupuesto, sus conocimientos técnicos y sus necesidades específicas.

Opción 1: Vercel (La más sencilla)

Vercel es la plataforma creada por los desarrolladores de Next.js. Funciona con configuración cero.

Ventajas:

  • ✅ Plan gratuito (suficiente para proyectos personales)
  • ✅ Despliegue automático al hacer push en GitHub
  • ✅ CDN global (acceso rápido en todo el mundo)
  • ✅ Certificados SSL automáticos y gratuitos
  • ✅ No requiere gestión del servidor

Desventajas:

  • ❌ De pago para uso comercial (desde 20 $/mes)
  • ❌ Menor control sobre el servidor subyacente

Configuración:

  1. Vaya a vercel.com
  2. Inicie sesión con "Continue with GitHub"
  3. Seleccione su repositorio y haga clic en ¡Deploy!

Opción 2: Netlify (Alternativa a Vercel)

Netlify es una plataforma muy similar a Vercel.

Ventajas:

  • ✅ Plan gratuito disponible
  • ✅ Funciones adicionales como gestión de formularios e identidad
  • ✅ Integración fluida con GitHub

Configuración:

  1. Vaya a netlify.com
  2. Conéctese con GitHub
  3. Comando de construcción (build): npm run build
  4. Directorio de publicación: .next

Opción 3: VPS + Docker (Control total)

Puede ejecutar Next.js con Docker en su propio servidor. Esto proporciona el máximo control.

Requisitos:

  • Servidor VPS (DigitalOcean, Hetzner, Contabo, etc.)
  • Ubuntu 22.04 o superior
  • Al menos 1 GB de RAM, 1 vCPU

Paso 1: Conéctese a su servidor

ssh root@SU_IP_DE_SERVIDOR

Paso 2: Instale Docker

# Instalar Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

# Instalar Docker Compose
apt install docker-compose -y

Paso 3: Cree un Dockerfile

Cree un archivo Dockerfile en la raíz de su proyecto:

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]

Paso 4: docker-compose.yml

version: '3'
services:
  nextjs:
    build: .
    ports:
      - '3000:3000'
    environment:
      - WORDPRESS_API_URL=https://ejemplo.com/wp-json/wp/v2
    restart: always

Paso 5: Lanzamiento

docker-compose up -d --build

¡Su sitio ya está activo en http://SU_IP_DE_SERVIDOR:3000!

Paso 6: Nginx + SSL (Recomendado)

# Instalar Nginx
apt install nginx -y

# Instalar Certbot (SSL)
apt install certbot python3-certbot-nginx -y

Configuración de Nginx (/etc/nginx/sites-available/default):

server {
    server_name ejemplo.com;
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
# Obtener certificado SSL
certbot --nginx -d ejemplo.com

¿Qué opción debería elegir?

EscenarioRecomendado
Quiero empezar lo antes posibleVercel
Proyecto comercial con presupuestoVercel Pro
Quiero control total y lógica de servidor personalizadaVPS + Docker
Presupuesto muy ajustadoVPS (5 $/mes)

Comentarios y Discusión