output: ‘standalone’ – Optimizarea pentru containere Docker ultra-mici în Next.js

Tracează dependențele reale din node_modules și creează un pachet minimal de producție ideal pentru Docker.

Sintaxă
module.exports = {
  output: 'standalone',
};

Ce face output: 'standalone' - Optimizarea pentru containere Docker ultra-mici

Un director `node_modules` complet poate ocupa lejer peste 500 MB – 1 GB de spațiu.

Activând output: 'standalone' în `next.config.js`, comanda `next build` analizează codul sursă și copiază în folderul `.next/standalone` doar modulele strict necesare pentru rulare la producție.

Rezultatul este un server web de sine stătător de sub 50 MB care poate fi rulat simplu cu `node server.js`, fără a mai avea nevoie de directorul complet `node_modules`.

Exemple

Exemplul 1: Activarea modului standalone pentru construirea imaginii Docker

Permite crearea de imagini Docker ușoare și sigure.

/** @type {import('next').NextConfig} */
const nextConfig = {
  output: 'standalone',
};

module.exports = nextConfig;

Ieșire în terminal

La build se generează directorul .next/standalone/server.js.

Greșeli frecvente

  • Uitarea de a copia folderele ‘public/’ și ‘.next/static/’ în containerul Docker final; modulul standalone copiază doar codul Node.js, activele statice trebuind copiate separat.

Comenzi înrudite