HF PanelDocsv1.0.0

Node.js apps

Run static React, Vue or Angular builds and Node.js server apps such as Next.js or Express on your domains.

The Node.js apps screen runs JavaScript apps on your domains: static React, Vue or Angular sites with client-side routing, or server apps that start automatically and restart if they crash.

Where: Control Panel › Software › Node.js apps

Node.js apps screen

Type How it runs Examples
Static site built once, served by the web server React (Vite or Create React App), Vue, Angular, Svelte, Solid, Preact, Gatsby, Astro, SvelteKit with adapter-static, Next.js static export
Server app keeps running as a service on its own port, behind the web server (SSR, APIs) Next.js, Nuxt, Remix, React Router, SvelteKit, Astro SSR, Angular SSR, NestJS, Express, Fastify, Koa, Hono, Socket.IO

Note: if the screen says Node.js isn't installed on this server yet, ask your hosting provider to install it. You also need at least one domain.

Create an app

  1. Upload your project (without node_modules) to a folder in your home with the File Manager, SFTP or Git.
  2. Under New app, enter the App name, for example shop.
  3. Choose the Domain. All visits to this domain go to the app.
  4. Enter the App folder — where package.json is, for example web/shop.
  5. Click Detect from package.json. HF Panel reads package.json and fills in the fields for the framework it finds; a message names the framework and any Node.js version package.json asks for. Check the fields.
  6. Choose the Node.js version and the Type.
  7. Click Create app.
  8. Click Build & deploy next to the app.

Build & deploy installs the dependencies, runs the build and puts the result live; a window shows every step. Do it again after each change.

App settings

Field What it does
App name lowercase letters, numbers, - and _, up to 30 characters; cannot be changed later
Domain a main domain (not a parked domain). Each domain can run one app.
App folder a folder inside your home. A static site's folder must be inside web/.
Node.js the Node.js versions installed on the server
Type Static site or Server app
Install dependencies npm install, npm ci (uses package-lock.json), yarn install, pnpm install or Nothing (already installed)
Build script (optional) the script in package.json run before starting, for example build
Build folder static sites: where the build ends up; found automatically (dist, build, out…) when empty
Start command server apps: node, npm, npx, yarn or pnpm followed by plain words, for example npm start, node dist/main.js or node .output/server/index.mjs (up to 200 characters)
Mode server apps: Production or Development
Environment variables (optional) one NAME=value per line, available while building and running

Environment variable names are upper-case letters, numbers and _ (up to 64 characters). Values cannot contain quotes or backslashes and are at most 500 characters. You can set up to 30 variables; lines starting with # are ignored.

Important: PORT, HOST and NODE_ENV are set for you. A server app must listen on process.env.PORT.

Manage apps

The apps table shows each app's type and mode, Domain, Folder (and start command), Node.js version and Status: Static, Running, Starting or stopped.

Button What it does
Build & deploy installs, builds and puts the app live (a server app is restarted)
Restart / Stop / Start controls a server app's service
Settings opens the app's settings in the form below
Files opens the app folder in the File Manager
Log file opens the logs folder in the File Manager (server apps)
Remove app removes the app after you confirm

If a server app does not come up, the message points to its log, ~/logs/node-<app name>.log.

Removing an app keeps its files; the domain serves its website folder again.