Public testing phase We’re in a public testing phase — feel free to look around, but we’re not taking orders yet. Ordering opens 1 October 2026. See plans →

Framework starters: Next.js, Nuxt, SvelteKit and Astro

Picked Next.js, Nuxt, SvelteKit or Astro? Your site came with the framework's own minimal starter built and running on the Node.js runtime — a placeholder that proves the runtime works and that you replace with your own code.

What gets installed

  • The official scaffolder (pinned: create-next-app, nuxi init, sv create, create-astro) run non-interactively into your site's code root, then npm install and the production build, in your container. No git repository, no example data beyond the template's welcome page.
  • A start script in package.json that listens on the PORT we hand the app — the same command a later deploy will use.
  • Where the framework needs an adapter to run as a server, it is wired: SvelteKit gets @sveltejs/adapter-node (with ORIGIN and proxy headers in .env), Astro gets @astrojs/node in standalone mode with output: 'server'.

Replacing it with your own code

  1. Push your project to GitHub, GitLab or veldhost Git and connect it on the Deploy tab (see Deploy from Git). Every push runs npm ci, your build command and a restart.
  2. Keep a start script that listens on process.env.PORT (3000 in the container) — the table below shows the one the starter uses. Set a different one on the Node card if your project needs it.
  3. Files in public/ are served by nginx straight from disk; everything else is proxied to your app, WebSockets included. X-Forwarded-Proto tells your app it is behind https.
FrameworkBuildStart commandNotes
Next.jsnext buildnext startRespects PORT. output: 'standalone' also works with node .next/standalone/server.js.
Nuxtnuxt buildnode .output/server/index.mjsNitro respects PORT and HOST.
SvelteKitvite build with @sveltejs/adapter-nodenode --env-file=.env build.env carries ORIGIN so form actions accept your https address.
Astroastro build with @astrojs/node (standalone)node ./dist/server/entry.mjsNeeds output: 'server' (or per-page prerender = false) for on-request rendering; a fully static Astro site is better served as a static site.

Updating and memory

  • Framework updates are ordinary dependency updates in your repository; deploying them builds in our build container, not in your site's memory.
  • The first install builds in your container with a temporarily raised memory limit; a Starter container (768 MB) runs any of these starters comfortably afterwards.