Skip to content

Configuración Next.js

Configurar tu proyecto Next.js con Docker optimizado para producción.

Terminal window
cd /root
git clone git@github.com:tu-usuario/proyecto-nextjs.git
cd proyecto-nextjs
Terminal window
vim next.config.js

Añadir output: 'standalone':

/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'standalone',
// ... resto de configuración
}
module.exports = nextConfig
Terminal window
vim Dockerfile

Contenido:

# Etapa 1: Dependencias
FROM node:20-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci
# Etapa 2: Build
FROM node:20-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build
# Etapa 3: Producción
FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
EXPOSE 3000
CMD ["node", "server.js"]
Terminal window
vim .dockerignore
node_modules
.next
.git
.env*.local
*.log

Si usas variables de entorno:

Terminal window
vim .env.production
DATABASE_URL=postgresql://user:pass@host:5432/db
NEXT_PUBLIC_API_URL=https://api.tudominio.com

Continúa con Despliegue.