Node.js sites
Fluxo supports Next.js, Nuxt, and generic Node.js applications in two modes: a persistent server behind Nginx or a static build served directly by Nginx. JavaScript and TypeScript applications use the same Node.js site type.
Toolchain requirement
The server must have a complete Fluxo Node.js toolchain:
- A current Node.js LTS release
- npm
- pnpm
- Yarn
- Corepack
- Bun
If it is missing, site creation shows an inline explanation and a link that opens Runtime > Node.js in a new tab. Install or repair the toolchain there, return to the site form, and select Check again. Fluxo refreshes runtime status instead of relying on the earlier cached result.
Presets
| Preset | Server default | Static output default |
|---|---|---|
| Next.js | Package manager start script | out |
| Nuxt | .output/server/index.mjs | .output/public |
| Generic | Package manager start script or server.js | dist |
Presets provide defaults; they do not install a framework or rewrite your application.
Server-rendered mode
Choose Server-rendered app when the application must execute on every request or expose a Node server.
Set a unique internal application port. Nginx proxies public traffic to the process bound to 127.0.0.1 on that port. Fluxo generates the start command from the preset and package manager and creates the managed process after provisioning.
The process restarts after a successful deployment so it loads the activated release. During a zero-downtime deployment, the build and symlink activation remain atomic, but restarting a single Node process can still cause a brief connection interruption. Fluxo's release model is still valuable because failed builds never replace the active release and rollbacks remain available.
Static build mode
Choose Static build when the build produces files that Nginx can serve without a Node process. Enter the output directory relative to the repository root.
Examples:
| Framework | Typical configuration |
|---|---|
| Next.js static export | Build npm run build, output out |
| Nuxt generate | Build command configured by the project, output .output/public |
| Vite | Build npm run build, output dist |
Static mode still uses the selected package manager to install dependencies and run the build command. It does not create a persistent Node daemon after the build.
Package managers
| Selection | Install command generated by Fluxo |
|---|---|
| npm | `npm ci |
| pnpm | `pnpm install --frozen-lockfile |
| Yarn | Immutable/frozen install with compatible fallbacks |
| Bun | `bun install --frozen-lockfile |
| None | No dependency installation command |
Use None only when the repository needs no package installation or you will provide every required command yourself.
Build and start commands
The build command is visible during creation and remains editable in site settings. The start command is generated from the other selections to prevent inconsistent initial configuration, then can be adjusted under the site's general settings for a custom server entrypoint.
Bind custom servers to 127.0.0.1 and the assigned Fluxo port. Do not bind a second application to the same port.
Environment
The site environment is linked into every zero-downtime release. Store runtime secrets and framework variables there. For server processes, make sure the application reads environment variables at startup; redeploy or restart the process after changing values that are not dynamically reloaded.
