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_PUBLICvs szerver-only titkok