Skip to main content
Version: 2.0.14

Node.js

Containerized Node.js applications can be created and managed in OpenPanel Enterprise Edition.

Step-by-step guide: Deploy a Node.js / Next.js app


Create an Application​

To create a new Node.js application, navigate to OpenPanel > Websites > Install App and click Setup Node.js Application.

Auto Installer page with cards for WordPress, Joomla, Drupal, Website Builder, PrestaShop, OpenCart and other applications Auto Installer page with cards for WordPress, Joomla, Drupal, Website Builder, PrestaShop, OpenCart and other applications

On the next page, you can configure the following settings:

  • Name – The name of the application and container as displayed in OpenPanel.
  • Port – Set a custom port (e.g., 3000) if your app uses one. Otherwise, port 80 is used by default.
  • Domain Name / Subfolder – The domain (and optional subfolder) where the application will be publicly accessible.
  • Startup File – The file executed at startup with the node command. Defaults to index.js.
  • Custom Startup Command – Use a custom startup command instead of the default node.
  • Type – Fixed to Node.js.
  • Version – Select any available Node.js version from Docker Hub.
  • Run Install – Run npm install using package.json before starting the application.
  • Resource presets – Small (0.25 CPU, 0.25 GB, 100 processes), Medium (0.5 CPU, 1 GB, 500 processes) or Large (1 CPU, 2 GB, 1000 processes) fill in the three limits below in one click. Medium is the default.
  • CPU Cores – Number of CPU cores allocated to the application.
  • Memory – Amount of memory (in GB) allocated to the application.
  • Max processes – The most processes the application's container can run at once.

Install Node.js Application form with the application details, domain, startup file and the Small, Medium and Large resource presets Install Node.js Application form with the application details, domain, startup file and the Small, Medium and Large resource presets

After completing the form, click Start Installation. The installation process will be displayed below the form. Once complete, you’ll be redirected to the management page where you can view all your applications.

Example App​

An example Node.js (Express) application that is running on http://nodejs.openpanel.org/

Example settings:

Example app.js file:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
res.send('Hello World from Node.js on port 3000!');
});

app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});

Example package.json file:

{
"name": "helloworld-node",
"version": "1.0.0",
"description": "Simple Node.js Hello World app using Express",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"author": "Stefan Pejcic",
"license": "MIT",
"dependencies": {
"express": "^4.18.2"
}
}

Manage Applications​

Once your application is created, you can manage it from OpenPanel > Websites > Sites.

Site Manager listing websites grouped by type with their version, creation date and PageSpeed scores Site Manager listing websites grouped by type with their version, creation date and PageSpeed scores

Click Manage next to the application name to open its management page.

Node.js application page with its status, runtime version, CPU and memory limits, and Stop and Restart actions Node.js application page with its status, runtime version, CPU and memory limits, and Stop and Restart actions

On this page, you can view important details such as:

  • Screenshot – Preview of the application’s domain.
  • Status – Current container status.
  • Version – Node.js version in use.
  • CPU Limit – Configured CPU allocation.
  • Memory Limit – Configured memory allocation.
  • Speed – Google PageSpeed Insights data for the website.
  • Files – Current folder path and size.
  • Firewall – WAF (Web Application Firewall) status for the domain (if enabled).

You also have several management options:

  • Actions – Start, stop, or restart the container.
  • Overview – Modify startup file or command, working directory, package installation settings (NPM), version, and resource limits (CPU, Memory, PIDs).
  • Install Packages – View and manage package.json, and run NPM/PNPM installations.
  • Logs – View container logs for troubleshooting.
  • Remove – Delete the application.
Was this helpful?