← All docs

Supported app types

Static sites, React SPAs, and Node.js services — with the exact settings for each.

Static site

  • For plain HTML/CSS/JS or any pre-built static output. No server runs; files are served directly over HTTPS.
  • Build command: leave empty if the files are already committed, or your generator command (e.g. npm run build).
  • Output directory: the folder containing index.html (default: public). Root directory: / (or a subfolder).
  • Example: a repo with public/index.html → type Static, output “public”, no build command.

React app (SPA)

  • For Vite / Create-React-App / any single-page app that builds to static assets. Served with SPA fallback (unknown routes return index.html).
  • Install command: npm ci. Build command: npm run build. Output directory: dist (Vite) or build (CRA).
  • Build-time variables (e.g. VITE_*/REACT_APP_*) are set under the project’s Secrets/variables before building.

Node.js service

  • For Express / Fastify / Nest and other long-running servers. Runs in an isolated container with zero-downtime promotion.
  • Install: npm ci. Build: npm run build (if you compile). Start command: e.g. node dist/main.js. Port: the port your server listens on.
  • Health check path: a route returning 200 when ready (e.g. /health). A new release only receives traffic after it passes the check.