Deployment

Choose a Better Fullstack deployment target and understand what files the generator emits.

Open documentation actions

Better Fullstack can emit deployment configuration during project creation with --web-deploy and --server-deploy.

Use deployment flags at scaffold time when you want generated platform files to match the selected frontend, backend, runtime, and monorepo layout.

Deployment flags

FlagValues
--web-deployvercel cloudflare fly railway docker sst none
--server-deployvercel cloudflare fly railway docker sst none

Deployment choices are compatibility-checked against the stack. Some fullstack frameworks deploy through the web app, some backends do not need a separate server deployment, and Convex or Encore manage their own platform path.

Pick a target

TargetBest fit
DockerSelf-hosting, reproducible production images, and local service orchestration.
VercelNext.js, React Router, TanStack Start, Nuxt, SvelteKit, Solid, and supported serverless deployments.
CloudflareWorkers runtime stacks and edge-first Hono servers.
Fly.ioDocker-backed app hosting with regional placement and long-running services.
RailwayGit-connected app hosting with Dockerfile-based builds and managed services.
SSTAWS-oriented infrastructure as code for fullstack and server deployments.

Add after scaffold

The add command can record deployment flags, but it currently processes addons first. If no new addon is selected, deployment-only add commands exit early. Prefer choosing deployment targets during create until deployment-only add flows are expanded.

npm create better-fullstack@latest my-app -- \
  --frontend next \
  --backend hono \
  --runtime node \
  --database postgres \
  --orm drizzle \
  --web-deploy vercel \
  --server-deploy vercel

Before deploying

  • Set production environment variables for auth secrets, database URLs, provider keys, and public app URLs.
  • Run database migrations against the production database before routing traffic.
  • Confirm the generated platform config matches the app that should receive requests.
  • Keep local-only service containers, test credentials, and generated logs out of source control.