Skip to content

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

PresetServer defaultStatic output default
Next.jsPackage manager start scriptout
Nuxt.output/server/index.mjs.output/public
GenericPackage manager start script or server.jsdist

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:

FrameworkTypical configuration
Next.js static exportBuild npm run build, output out
Nuxt generateBuild command configured by the project, output .output/public
ViteBuild 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

SelectionInstall command generated by Fluxo
npm`npm ci
pnpm`pnpm install --frozen-lockfile
YarnImmutable/frozen install with compatible fallbacks
Bun`bun install --frozen-lockfile
NoneNo 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.

Fluxo website · Source-available under the BSL 1.1 License.