GenerateSaaS

Deployment

Pick the deploy target and architecture at generatesaas init, avoid the blocked combinations, and ship to a host that supports them.

Every project picks a deploy target (node or vercel, flag --deploy) and an architecture (fullstack or separate, flag --architecture) at generatesaas init, recorded in .generatesaas/manifest.json. The shared Hono backend (@repo/api) is identical on every target - only the runtime host and the mount point differ.

Target and architecture

The architecture picks where @repo/api runs; the target picks the runtime host.

ArchitectureWhere @repo/api runsChoose when
fullstack (default)In-process, inside the frontendDefault - one host, no CORS, no API_URL
separateStandalone Hono server in apps/backendIndependent scaling, multiple frontends on one API, operational isolation
TargetRuntimefullstackseparate
node (default)Long-running containerAllowedAllowed
vercelServerless functionsAllowedBlocked

Blocked combinations

The CLI guards these before scaffolding: the interactive flow hides the incompatible option, and passing it as a flag throws.

ComboEffectReason
separate + vercelfullstack auto-selectsStandalone backends need a long-running runtime
redis cache + vercelupstash auto-selectsServerless cannot hold a persistent ioredis connection
runner + vercelRunner unavailableThe runner holds one connection open per paired device

Three further features assume a persistent runtime and are unavailable on Vercel: local file storage (use s3), SMTP email (use resend or ses), and Content API git commits. See Vercel.

Cloudflare Workers is never a target. The backend depends on Node-only modules (geoip-lite, ioredis, pg). Only node and vercel exist.

Target and architecture are baked in at init. Change the architecture in place with Switch to separate or Switch to fullstack - re-running the CLI regenerates packages/config and .env wholesale.

Hosts

Every node host runs the same image and supports both architectures - the boilerplate has no platform-specific code.

HostTargetGuide
VercelvercelVercel
RailwaynodeRailway
Fly.ionodeFly.io
RendernodeRender
Any VPS or container hostnodeSelf-hosting with Docker
Dokploy (self-hosted PaaS)nodeDokploy
Coolify (self-hosted PaaS)nodeCoolify

On this page