Learning
Next.js

Deploy, standalone és cache több példányon

Docker-barát build, és mit érdemes tudni ISR/cache-ről több szerveren.

20. Deploy, standalone és cache több példányon

Standalone output (Docker, saját szerver)

Ha konténerben vagy saját Node hoston futtatod az alkalmazást, gyakori a output: 'standalone' a next.config.ts-ben. Ilyenkor a build egy összecsomagolt node_modules minimal szettet készít a .next/standalone alá – a Dockerfile-ban erre másolsz rá, nem az egész monorepót.

Előny: kisebb image, kevesebb felesleges fájl, előre jelezhető runtime.

Fontos: ellenőrizd a projekt dokumentációját – statikus fájlok (public, .next/static) másolása a konténerbe külön lépés maradhat.

ISR és „több példány”

Az incremental újragenerálás és a függső cache viselkedése platformfüggő. Ha több Node példány fut közös adatbázis nélküli, lokális fájl cache-sel, az egyes instance-ok nem mindig látják ugyanazt az ISR állapotot.

Gyakorlati tanulság: production-ben Vercel / felhő platform cache-e, vagy explicit cache handler / közös store (Redis stb.) – a részletek a Next self-hosting és cache handler dokumentációjában vannak. Tananyag szinten elég annyit jegyezni: skálázáskor a cache nem „varázslatosan” globális minden deployment modellben.

Környezeti változók

Build időben vs futás időben: NEXT_PUBLIC_* beépül a kliens bundle-be; titkok csak szerveren. Deploy pipeline-ban secret manager vagy host env – ne commitolj .env.local-t.

📝 Összefoglaló – 20. fejezet

  • output: 'standalone': tipikus Docker és saját host minta
  • Több példány + ISR: értsd a platform cache modelljét, ne feltételezz implicit megosztást
  • Env: NEXT_PUBLIC vs szerver-only titkok

On this page