Next.js, Nuxt, SvelteKit of Astro gekozen? Je site is geleverd met de minimale starter van het framework zelf, gebouwd en draaiend op de Node.js-runtime — een plaatshouder die bewijst dat de runtime werkt en die je vervangt door je eigen code.
Wat er wordt geïnstalleerd
- De officiële scaffolder (vastgepind:
create-next-app,nuxi init,sv create,create-astro) niet-interactief uitgevoerd in de codemap van je site, gevolgd doornpm installen de productiebuild, in je container. Geen git-repository, geen voorbeelddata behalve de welkomstpagina van het sjabloon. - Een
start-script inpackage.jsondat luistert op dePORTdie wij de app geven — hetzelfde commando dat een latere deploy gebruikt. - Waar het framework een adapter nodig heeft om als server te draaien, is die aangesloten: SvelteKit krijgt
@sveltejs/adapter-node(metORIGINen proxy-headers in.env), Astro krijgt@astrojs/nodein standalone-modus metoutput: 'server'.
Vervangen door je eigen code
- Push je project naar GitHub, GitLab of veldhost Git en koppel het op het tabblad Deploy (zie Deployen vanuit Git). Elke push draait
npm ci, je buildcommando en een herstart. - Houd een
start-script dat luistert opprocess.env.PORT(3000 in de container) — de tabel hieronder toont wat de starter gebruikt. Stel een ander commando in op de Node-kaart als je project dat vraagt. - Bestanden in
public/serveert nginx rechtstreeks vanaf schijf; al het andere gaat via de proxy naar je app, WebSockets inbegrepen.X-Forwarded-Protovertelt je app dat hij achter https draait.
| Framework | Build | Startcommando | Opmerkingen |
|---|---|---|---|
| Next.js | next build | next start | Respecteert PORT. output: 'standalone' werkt ook, met node .next/standalone/server.js. |
| Nuxt | nuxt build | node .output/server/index.mjs | Nitro respecteert PORT en HOST. |
| SvelteKit | vite build met @sveltejs/adapter-node | node --env-file=.env build | .env bevat ORIGIN, zodat form actions je https-adres accepteren. |
| Astro | astro build met @astrojs/node (standalone) | node ./dist/server/entry.mjs | Vraagt output: 'server' (of per pagina prerender = false) voor rendering op aanvraag; een volledig statische Astro-site is beter af als statische site. |
Bijwerken en geheugen
- Framework-updates zijn gewone dependency-updates in je repository; het deployen daarvan bouwt in onze buildcontainer, niet in het geheugen van je site.
- De eerste installatie bouwt in je container met een tijdelijk verhoogde geheugenlimiet; een Starter-container (768 MB) draait elk van deze starters daarna prima.