Configuración Next.js
Configurar tu proyecto Next.js con Docker optimizado para producción.
1. Clonar Proyecto
Section titled “1. Clonar Proyecto”cd /rootgit clone git@github.com:tu-usuario/proyecto-nextjs.gitcd proyecto-nextjs2. Configurar next.config.js
Section titled “2. Configurar next.config.js”vim next.config.jsAñadir output: 'standalone':
/** @type {import('next').NextConfig} */const nextConfig = { output: 'standalone', // ... resto de configuración}
module.exports = nextConfig3. Crear Dockerfile
Section titled “3. Crear Dockerfile”vim DockerfileContenido:
# Etapa 1: DependenciasFROM node:20-alpine AS depsWORKDIR /appCOPY package*.json ./RUN npm ci
# Etapa 2: BuildFROM node:20-alpine AS builderWORKDIR /appCOPY --from=deps /app/node_modules ./node_modulesCOPY . .RUN npm run build
# Etapa 3: ProducciónFROM node:20-alpine AS runnerWORKDIR /appENV NODE_ENV=production
COPY --from=builder /app/public ./publicCOPY --from=builder /app/.next/standalone ./COPY --from=builder /app/.next/static ./.next/static
EXPOSE 3000CMD ["node", "server.js"]4. Crear .dockerignore
Section titled “4. Crear .dockerignore”vim .dockerignorenode_modules.next.git.env*.local*.log5. Variables de Entorno (Opcional)
Section titled “5. Variables de Entorno (Opcional)”Si usas variables de entorno:
vim .env.productionDATABASE_URL=postgresql://user:pass@host:5432/dbNEXT_PUBLIC_API_URL=https://api.tudominio.comSiguiente Paso
Section titled “Siguiente Paso”Continúa con Despliegue.