Node.js upgrade to v24


XorMon v2.2.0 requires Node.js v24.
Node.js v20 is no longer supported by XorMon, it will reach end of support in April 2026.

General steps

  • Backup XorMon VM
  • Stop XorMon
  • Remove current Node.js
  • Install Node.js v24
  • Enable port 443 for Node.js
  • Update PM2 state
  • Reboot the system
  • Start XorMon

Node.js version check

In case it returns v24.x.x it is all ok, do not follow this docu and directly upgrade XorMon
node -v
  v24.13.1 

Stop XorMon

Run following commands as xormon
su - xormon
cd ~/xormon-ng
./xormon.sh stop

Remove Current Node.js

Choose the appropriate procedure for your system.

Run following commands as root

  • Debian Linux - Node.js installed from repository
    This step is valid for XorMon Appliance
    apt remove nodejs
  • RHEL/Rocky Linux - Node.js installed from repository
    dnf remove nodejs
  • SUSE Linux - Node.js installed from repository
    zypper remove nodejs20
  • Node.js manually installed in /usr/local
    Delete files and directories used by Node.js
    rm /usr/local/bin/node
    rm /usr/local/bin/npm
    rm /usr/local/bin/npx
    rm /usr/local/bin/corepack
    rm /usr/local/share/man/man1/node.1
    rm -rf /usr/local/share/doc/node/
    rm -rf /usr/local/lib/node_modules/
    rm -rf /usr/local/include/node/

Install Node.js v24

Choose the appropriate procedure for your system.

Run following commands as root

  • Debian Linux with internet access
    This step is valid for XorMon Appliance
    curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
    apt install nodejs
    node -v
  • RHEL/Rocky Linux with internet access
    • Installing from appstream repository
      dnf module reset nodejs
      dnf module enable nodejs:24
      dnf install nodejs
      node -v
    • Installing from nodesource
      curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
      dnf install nodejs
      node -v
  • OpenSUSE Linux 15.6 with internet access Add devel:languages:nodejs repository
    zypper addrepo https://download.opensuse.org/repositories/devel:languages:nodejs/15.6/devel:languages:nodejs.repo
    zypper refresh
    zypper install nodejs24
    node -v
  • x86_64 Linux without internet access
    Download and install Node.js from prebuilt binaries
    https://nodejs.org/dist/latest-v24.x
    cd /tmp
    wget https://nodejs.org/dist/latest-v24.x/node-v24.13.1-linux-x64.tar.xz
    
    # extract archive to /usr/local
    cd /usr/local
    tar xf /tmp/node-v24.13.1-linux-x64.tar.xz --strip-components=1
    
    # check node version
    node -v
    
    # remove archive
    rm /tmp/node-v24.13.1-linux-x64.tar.xz
  • Power PC Linux (ppc64le) without internet access
    Download and install Node.js from prebuilt binaries
    https://nodejs.org/dist/latest-v24.x
    cd /tmp
    https://nodejs.org/dist/latest-v24.x/node-v24.13.1-linux-ppc64le.tar.xz
    
    # extract archive to /usr/local
    cd /usr/local
    tar xf /tmp/node-v24.13.1-linux-ppc64le.tar.xz --strip-components=1
    
    # check node version
    node -v
    
    # remove archive
    rm /tmp/node-v24.13.1-linux-ppc64le.tar.xz 

Enable port 443 for Node.js

This is necessary if you want to use port 443 for the application front-end
Note: you have to re-run this command after each Node.js
Run it under root:
/usr/sbin/setcap 'cap_net_bind_service=+ep' $(readlink -f $(which node))

# verify it
/usr/sbin/getcap $(readlink -f $(which node))
  /usr/bin/node cap_net_bind_service=ep
Some Linux distributions, such as SUSE, set command alternatives for multiple verions.
In this case, set the port binding capability for the default alternative as well.

  • check for alternatives
    update-alternatives --get-selections | grep node
      node-default                   auto     /usr/bin/node24
  • set port binding capability
    /usr/sbin/setcap 'cap_net_bind_service=+ep' /usr/bin/node
    /usr/sbin/setcap 'cap_net_bind_service=+ep' /usr/bin/node24

Reboot the system

reboot

Start XorMon

Run following commands as xormon
su - xormon
cd ~/xormon-ng
./xormon.sh start